问题描述将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。
输入格式n,k
输出格式一个整数,即不同的分法
样例输入
7 3
样例输出
4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;}
数据规模和约定6<n<=200,2<=k<=6

记:

动态题目自己写的依旧没能得到满分,学习他人的解题思路

(代码参考:https://blog.csdn.net/liuchuo/article/details/51989133,https://blog.csdn.net/pason_pc/article/details/51228907)

例如输入n=7,k=3

即得到了关于7的所有划分

两个重点:

1->代码中i的值在prev-n/step之间,从prev开始,确保最小值不会比前一个小,避免出现重复情况;

到n/step结束,是因为当超过n/step时,会出现与前面检索情况重复的现象,

(例dp(3,4,2),由于4=1+3或4=2+2在前面的情况出现过,故会出现重复情况,从而推出适用其他情况)

2->用于确定划分的step,当step=1,即划分完成,可进行计数

AC代码:

 1 #include <stdio.h>
 2
 3 int n,k;
 4 int ans = 0;
 5
 6 void dp(int prev,int n,int step)
 7 {
 8     int i;
 9     if (step == 1)/*划分结束*/
10     {
11         ans ++;
12         return ;
13     }
14
15
16     for (i = prev ; i <= n/step ; i ++)
17     {
18         dp(i,n-i,step-1);
19     }
20     return ;
21 }
22
23 int main(void)
24 {
25     scanf("%d %d",&n,&k);
26     dp(1,n,k);
27     printf("%d",ans);
28     return 0;
29 }

转载于:https://www.cnblogs.com/mind000761/p/8764219.html

ALGO-22_蓝桥杯_算法训练_数的划分(DP)相关推荐

  1. 蓝桥杯 ALGO-117 算法训练 友好数

    问题描述 有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的.例如: 9的约数和有:1+3=4 4的约数和有:1+2=3 所以9和4不是友好的. 220的约数和有:1 ...

  2. [Java] 蓝桥杯ALGO-103 算法训练 完数

    问题描述 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如,6的因子为1.2.3,而6=1+2+3,因此6就是"完数".又如,28的因子为1.2.4. ...

  3. [Java] 蓝桥杯ALGO-117 算法训练 友好数

    问题描述 有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的.例如: 9的约数和有:1+3=4 4的约数和有:1+2=3 所以9和4不是友好的. 220的约数和有:1 ...

  4. 蓝桥杯 ALGO-76 算法训练 十进制数转八进制数

    编写函数把一个十进制数输出其对应的八进制数. 样例输入 9274 样例输出 22072 #include <iostream> #include <string> using ...

  5. 蓝桥杯 ALGO-103 算法训练 完数

    问题描述 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如,6的因子为1.2.3,而6=1+2+3,因此6就是"完数".又如,28的因子为1.2.4. ...

  6. 蓝桥杯:算法训练 印章 Python

    问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案,保留4位小数. 样例输入 2 3 样例 ...

  7. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  8. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解 - 未完善

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  9. 蓝桥杯 试题 算法训练 筛选号码 Java

    蓝桥杯 试题 算法训练 筛选号码Java 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3 ...

  10. 算法刷题系列(四)蓝桥杯python算法训练3(下)

    上一次的节点选择算法由于春节过年耽搁了,现在重新补上 上篇链接:算法刷题系列(四)蓝桥杯python算法训练3 - 经验教训 在纷繁复杂的使用了列表来暂存数据之后,发现其实可以利用笔者自己不太常用的字 ...

最新文章

  1. ExtJs4 笔记(5) Ext.Button 按钮
  2. 教你如何找到导致程序跑飞的指令
  3. KahanSummation算法
  4. 【领奖啦】新年新客见面礼抽奖活动中奖名单出炉!
  5. android 获取文件夹下的所有文件
  6. 进程及 fork() 系统调用详解
  7. 方立勋_30天掌握JavaWeb_Cookie
  8. SAP Cloud for Customer ABSL的一些优化
  9. [渝粤教育] 中国地质大学 自动控制原理 复习题 (2)
  10. vlc内部运行机制以及架构分析
  11. 推荐一款接口文档在线管理系统-MinDoc
  12. 测试面试题集-1.测试基础理论
  13. mysql double 转 字符串_没想到!在MySQL数据库中的数据有这三种类型!
  14. 解决Vmware虚拟机中没有网络连接Ubuntu无法上网
  15. linux定时重启tomcat的脚本,Linux系统中的tomcat定时重启脚本
  16. SECS/GEM协议开发应用
  17. html的外部调用函数,如何在HTML中调用外部JavaScript函数
  18. 卧槽,移动互联网时代这就结束了?下一个风口是啥?
  19. 通过外挂程序实现SBO中的价格控制策略
  20. 2022牛客多校J题 Serval and Essay

热门文章

  1. Matplotlib常见问题总结
  2. OJ系列之---单词倒排
  3. python多包运行_如何组织包含多个包的python项目,以便包中的每个文件仍然可以单独运行?...
  4. ReadAndWriteLock(读写锁)
  5. 072_html5简介
  6. ERC721关于NFT的学习和理解
  7. Java数据结构与算法:队列
  8. 2020.12.15
  9. Centos 7 64位 minimal 最小化安装的系统中静默安装oracle 11g r2(无图形化安装)
  10. python特征选择relieff图像特征优选_ReliefF与QPSO结合的故障特征选择算法