P1025 [NOIP2001 提高组] 数的划分

暴搜 剪枝

枚举固定的位置

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e3+10;
int n,k;
int res;
void dfs(int last,int sum,int cur){
	
	if(cur==k){
		if(sum==n)res++;
		return;
	}
	
	for(int i=last;i+sum<=n;i++)
	 dfs(i,sum+i,cur+1);
}
int main()
{
	cin>>n>>k;
	dfs(1,0,0);
	cout<<res;
}
相关推荐
ytttr87319 分钟前
隐马尔可夫模型(HMM)MATLAB实现范例
开发语言·算法·matlab
点云SLAM1 小时前
凸优化(Convex Optimization)理论(1)
人工智能·算法·slam·数学原理·凸优化·数值优化理论·机器人应用
jz_ddk2 小时前
[学习] 卫星导航的码相位与载波相位计算
学习·算法·gps·gnss·北斗
放荡不羁的野指针2 小时前
leetcode150题-动态规划
算法·动态规划
sin_hielo2 小时前
leetcode 1161(BFS)
数据结构·算法·leetcode
一起努力啊~2 小时前
算法刷题-二分查找
java·数据结构·算法
水月wwww2 小时前
【算法设计】动态规划
算法·动态规划
码农水水3 小时前
小红书Java面试被问:Online DDL的INSTANT、INPLACE、COPY算法差异
算法
iAkuya4 小时前
(leetcode)力扣100 34合并K个升序链表(排序,分治合并,优先队列)
算法·leetcode·链表
我是小狼君4 小时前
【查找篇章之三:斐波那契查找】斐波那契查找:用黄金分割去“切”数组
数据结构·算法