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

数的划分--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;
}

相关文章:

  • 第3节 Node.js 创建第一个应用
  • vscode不满足先决条件问题的解决——vscode的老版本安装与禁止更新(附安装包)
  • 线程(上)【Linux操作系统】
  • 多类别分类中的宏平均和加权平均
  • Centos系统搭建主备DNS服务
  • pytest中的元类思想与实战应用
  • pytest 中 fixture 与类继承交互导致的问题
  • pytest 常见问题解答 (FAQ)
  • python批量解析提取word内容到excel
  • 【C++高级主题】命令空间(五):类、命名空间和作用域
  • 【Day41】
  • 零基础一站式端游内存辅助编写教程(无密)
  • ShenNiusModularity项目源码学习(32:ShenNius.Admin.Mvc项目分析-17)
  • UVa1457/LA4746 Decrypt Messages
  • python里面导入yfinance的时候报错
  • 小白的进阶之路系列之八----人工智能从初步到精通pytorch综合运用的讲解第一部分
  • tomcat yum安装
  • day07
  • C++面试5——对象存储区域详解
  • IDM下载器 Internet Download Manager v6.42 Build 39
  • 怎么做游戏和网站漏洞/西安百度
  • 在线制作视频的网站/网站建设
  • 数据调查的权威网站/百度指数怎么提升
  • wordpress点击按钮复制文字内容/班级优化大师功能介绍
  • 石家庄微网站/百度竞价ocpc
  • 昆明优化网站/软文发布系统