题意:给出n,k,问恰好有k个不超过n的数的和为n的方案数有多少

可以隔板法来做 现在有n个小球放到k个盒子里面,盒子可以为空

那么就是n-k+1个缝隙,放上k-1个隔板(k-1个隔板就分成了k份) 所以总的方案数为 C(n+k-1,k-1)

所以可以转化为C(i,j)=C(i-1,j)+C(i,j-1)

即为d[i][j]=d[i-1][j]+d[i][j-1],

d[i][j]表示j个数的和恰为i的方案数

 #include<iostream>
#include<cstdio>
#include<cstring>
#include <cmath>
#include<stack>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<algorithm>
using namespace std; typedef long long LL;
const int INF = (<<)-;
const int mod=;
const int maxn=; int d[][]; int main(){
int k,n;
memset(d,,sizeof(d));
for(int i=;i<=;i++) d[][i]=; for(int i=;i<=;i++){
for(int j=;j<=;j++){
d[i][j]=(d[i-][j]+d[i][j-])%mod;
}
} while(scanf("%d %d",&n,&k)!=EOF&&n&&k){
printf("%d\n",d[n][k]);
}
return ;
}

最新文章

  1. 使用Lua脚本语言开发出高扩展性的系统,AgileEAS.NET SOA中间件Lua脚本引擎介绍
  2. matlab mesh visualization
  3. Matlab判断鼠标移动
  4. (笔记)Linux内核学习(七)之内核同步机制和实现方式
  5. linux+jre+apache+mysql+tomcat调优
  6. Selenium - 实现网页元素拖拽
  7. 软件测试技术(三)——使用因果图法进行的UI测试
  8. Linux下软件的安装
  9. POJ 1845
  10. ECMAScript 6 笔记(五)
  11. Hibernate中cascade属性的区别
  12. Python列表,字典和字符串操作
  13. git入门笔记汇总——(廖雪峰博客git入门)
  14. Dynamics 365新特性介绍:在视图中显示图片和提示
  15. Golang入门教程(九)复合数据类型使用案例二
  16. Objective-C 【init/initWithFrame调用机制】
  17. 对于src路径问题,深层理解的实践。且对于输出流write()两个方法的源码阅读。
  18. 【linux C】C语言中常用的几个函数的总结【二】
  19. C# AOP框架入门(转)
  20. 发布网站时应该把debug设置false

热门文章

  1. Web前端必须规避的8个误区
  2. 自定义一个简单的web框架
  3. How an Event Enters a Cocoa Application
  4. 路飞学城Python-Day25
  5. 7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity Using Spark Framework---使用Spark框架的基于机会成本以及个人活动群组推荐机制
  6. 2、Attentive Group Recommendation----注意力集中的群组推荐
  7. BZOJ 1856 [SCOI2010]生成字符串 (组合数)
  8. Linux系统串口接收数据编
  9. pytorch 6 batch_train 批训练
  10. [terry笔记]GoldenGate_迁移同步_主库零停机