当前位置: 首页 > ds >正文

数的划分--dfs+剪枝

P1025 [NOIP 2001 提高组] 数的划分 - 洛谷

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<int,int> pii;
int a[7];
int n,k;
ll an;
void dfs(int s,int c)
{if(c==k){if(s==0)///符合条件的 {an++;///直接+1就行,答案不会重复,因为是按递增写的 }else return;}if(c>k) return;///剪枝1 if(s<k-c) return;///剪枝2,说明后面不够1了 for(int i=max(a[c],1);i<=s;i++)///递增序,不重复还少dfs {a[c+1]=i;dfs(s-i,c+1);}
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);//solve();cin>>n>>k;dfs(n,0);cout<<an;return 0;
}

http://www.xdnf.cn/news/10454.html

相关文章:

  • 配置前端控制器
  • 【Hot 100】121. 买卖股票的最佳时机
  • 【优比】基于STM32的紧急求助定位导盲仪系统
  • python打卡训练营打卡记录day41
  • 26考研——文件管理_文件目录(4)
  • Java内存模型(JMM)与多线程编程实战
  • 【小米拥抱AI】小米开源 MiMo-7B-RL-0530
  • 湖北理元理律师事务所:用科学规划重塑债务人生
  • 什么是 TOML?
  • NHANES指标推荐:ALI
  • <4>, Qt窗口
  • mysql慢sql的实际处理方案之一
  • MySQL事务和索引原理
  • WIN32-内存管理
  • leetcode hot100刷题日记——32.杨辉三角
  • Leetcode 3231. 要删除的递增子序列的最小数量
  • Docker-搭建MySQL主从复制与双主双从
  • 解常微分方程组
  • 代码随想录算法训练营第60期第五十三天打卡
  • C57-断言函数assert
  • 【Dv3Admin】工具请求配置文件解析
  • 【PCI】PCI入门介绍(包含部分PCIe讲解)
  • [USACO1.5] 八皇后 Checker Challenge Java
  • 智慧物流园区整体解决方案
  • LeeCode 98. 验证二叉搜索树
  • C#数字金额转中文大写金额:代码解析
  • CppCon 2014 学习:Pragmatic Type Erasure
  • vue-09(使用自定义事件和作用域插槽构建可重用组件)
  • Hbase
  • 如何真正实现软件开发“快”起来:破除误区与落地实践