zoukankan      html  css  js  c++  java
  • UVa 10943 How do you add?【递推】

    题意:给出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的方案数

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring> 
     4 #include <cmath> 
     5 #include<stack>
     6 #include<vector>
     7 #include<map> 
     8 #include<set>
     9 #include<queue> 
    10 #include<algorithm>  
    11 using namespace std;
    12 
    13 typedef long long LL;
    14 const int INF = (1<<30)-1;
    15 const int mod=1000000;
    16 const int maxn=1000005;
    17 
    18 int d[1005][1005];
    19 
    20 int main(){
    21     int k,n;
    22     memset(d,0,sizeof(d));
    23     for(int i=1;i<=105;i++) d[0][i]=1;
    24     
    25     for(int i=1;i<=105;i++){
    26         for(int j=1;j<=105;j++){
    27             d[i][j]=(d[i-1][j]+d[i][j-1])%mod;
    28         }    
    29     }
    30         
    31     while(scanf("%d %d",&n,&k)!=EOF&&n&&k){
    32         printf("%d
    ",d[n][k]);    
    33     }
    34     return 0;
    35 }
    View Code
  • 相关阅读:
    正反向代理工具squid
    docker安装jira
    pandas输出的数据集导入数据库
    python监控接口告警模板
    Auth认证
    Form与ModelForm的 使用
    原生Ajax与jQuery的Ajax和伪Ajax
    Django缓存与信号
    Django的生命周期与中间件的流程
    CSRF的原理和基本使用
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4534170.html
Copyright © 2011-2022 走看看