数的划分 noip2001
来源:互联网 发布:华南理工大学绩点算法 编辑:程序博客网 时间:2024/05/17 05:53
将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。
例如:n=7,k=3,下面三种分法被认为是相同的。
1,1,5; 1,5,1; 5,1,1;
问有多少种不同的分法。
输入样例#1:
7 3
输出样例#1:
4
可以把这题看成 n 个数放进 k 个盒子里, 每个盒子里必须放数
于是有两种情况:
一、每个盒子要放的数都大于1
二、有至少1个盒子要放的数等于1
于是转移方程为
f[i][j] = f[i-j][j] + f[i-1][j-1]
代码如下
#include <cstdio>int n, k;int f[201][201];int main(){int i, j, t;scanf("%d%d", &n, &k);f[0][0] = 1; for(i = 1; i <= n; i++){for(j = 1; j <= k; j++){if(i >= j) f[i][j] = f[i-j][j] + f[i-1][j-1];}}//首先明确一点, 盒子不放 0 !!! //f[i-j][j]每个盒子都大于一,先每个盒子各放1,剩 i-j,放j个盒子//f[i-1][j-1],一个盒子只有1, 先在那个盒子放1, 剩i-1, 放j-1个盒子 printf("%d", f[n][k]);return 0;}
阅读全文
0 0
- [NOIP2001]数的划分
- NOIP2001数的划分
- 【noip2001】数的划分
- NOIP2001 数的划分
- 数的划分(NOIP2001)
- 【NOIP2001】数的划分
- noip2001 数的划分
- 数的划分 noip2001
- 【枚举暴搜】【NOIP2001】数的划分
- noip2001 数的划分 (动态规划)
- noip2001-数的划分 2008.11.5
- 洛谷 P1025 [NOIP2001 T2] 数的划分
- NOIP2001普及组 数的划分
- NOIP2001提高组 数的划分
- 洛谷 1025 [NOIP2001] 数的划分
- ACM 93. [NOIP2001] 数的划分(dp+组合数学)
- 【NOIP2001提高组T2】数的划分-DP
- 数的划分(NOIP2001&水题测试2017082401)
- jni问题总结:jni error (app bug): accessed stale local reference
- centos 7 发送邮件
- Java正则
- Python 3.6 api-ms-win-crt-runtime-l1-1-0.dll丢失
- 单笔转账到支付宝账户接口
- 数的划分 noip2001
- 浅谈身为小白学习Linux系统的四点实用建议
- NOIP 提高组 初赛 四、阅读程序写结果 习题集(三)NOIP2004-NOIP2005
- 实现一个通讯录;
- Android 7.0 dlopen的不同
- git下拉线上laravel项目到本地运行步骤
- Java:GraphQL 极佳入门实例
- CallableStatement的用法
- Java中选择,冒泡,快排原理代码 阶层 数组的排序 数组的排序 以及代码大全