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

做互联网公司网站谈单模拟视频教学直通车优化推广

做互联网公司网站谈单模拟视频教学,直通车优化推广,作文网网址,哪里可以学到运营题目描述 将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:n7,k3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1. 问有多少种不同的分法。 输入格式 n,k …

题目描述

将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。

例如:n=7,k=3,下面三种分法被认为是相同的。

1,1,5;
1,5,1;
5,1,1.

问有多少种不同的分法。

输入格式

n,k (6<n≤200,2≤k≤6)

输出格式

1 个整数,即不同的分法。

输入输出样例

输入 #1复制

7 3

输出 #1复制

4

说明/提示

四种分法为:
1,1,5;
1,2,4;
1,3,3;
2,2,3.

题目链接:P1025 [NOIP 2001 提高组] 数的划分 - 洛谷
学习链接:DFS正确入门方式 | DFS + 递归与递推习题课(下) | 一节课教你爆搜!_哔哩哔哩_bilibili

解题思路:

  1. 保证枚举到的当前位置的数>=下一个位置
  2. 保证排列元素求和==n,每个排列有k个元素 

代码如下: 

#include<bits/stdc++.h>
using namespace std;
int n;
int k;//划分份数 
int cnt=0;void dfs(int start,int x,int sum)
{
//	//剪枝:如果当前排列和超过了n,直接结束搜索(该剪枝不够强,还是会超时) 
//	if(sum>n)	return ;//如果枚举的位置超过了k份if(x>k){//判断该排列之和是否==nif(sum==n){cnt++;//累计方案数 } return ;//结束搜索 } //要剪枝:若剩下的几个位置用当前起始值填充(k-x+1)*i + 当前排列枚举元素之和sum>n的话就要剪掉,否则会超时 for(int i=start;sum+(k-x+1)*i<=n;i++){//开始枚举下一个位置dfs(i,x+1,sum+i); }
} 
int main()
{cin>>n>>k;//枚举第一个位置,第一个位置从1开始枚举,因为每份不能为空,当前元素和为0 dfs(1,1,0); cout<<cnt<<endl;return 0;
} 

 希望能帮助到各位同志,祝天天开心,学业进步!

http://www.cadmedia.cn/news/16148.html

相关文章:

  • 资阳网站建设业务推广公司
  • 广州网站建设联享科技软文推广广告公司
  • 免费seo营销优化软件下载app优化排名
  • 公司网站建设哪里好google play服务
  • 网站建设和推广话术网站分为哪几种类型
  • 汕头网站建设公司有哪些公司做个网站多少钱
  • 毕业生对于网站建设感受百度seo软件是做什么的
  • wordpress产品目录深圳seo云哥
  • 深圳企业网站制作企业南京网络营销服务
  • 网站seo优化的目的比较有名的个人网站
  • 专门做茶叶会的音乐网站成都专业网站推广公司
  • 网站权重转移做排名如何网上免费做推广
  • 如何推广游戏江苏seo和网络推广
  • 洛阳微网站建设seo搜索工具栏
  • 上海公安人口管理官网常州seo招聘
  • 深圳微商城网站制作价格百度手机版网址
  • 成都旅游景点推荐seo职业培训学校
  • 传统网站建设团队免费b站推广网站入口202
  • 丝瓜app向日葵app幸福宝上海seo公司
  • 北京工地网站建设baidu百度首页官网
  • 咨询类公司网页设计aso优化平台有哪些
  • 湖北建设企业网站价格无锡seo优化
  • 长春网站制作软件台州网站建设推广
  • 北京汉邦未来网站建设有限公司西安网络优化培训机构公司
  • 自己开发一个网站多少钱中国最新消息
  • 怎么选择网站建设百度引流推广哪家好
  • 天津网站建设工具企业在线培训系统
  • 百度推广对网站的好处外链网盘
  • 网站ps照片怎么做常见的网络营销方式有哪几种
  • 武汉seo代理商应用商店aso优化