题意:

有一个k面的骰子,然后问你n个骰子朝上的面数字之和=s的方案;

思路:

dp[i][j] 代表 前 i 个骰子组成 j 有多少种方案;

显然

dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j - 2] + ... + dp[i - 1][j - k];



我们算 dp[i][j] 的时候,需要dp[i-1] 的前缀和已经打出来了

我们求dp[i][j] 的时候,要求出 dp[i][j] 的前缀和,提供给求 i+1 的时候使用;

还有第二种方法:wonter

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int>PII;
const double eps=1e-5;
const double pi=acos(-1.0);
const int INF=0x3f3f3f3f;
const int mod=100000007;
const int N=15000+10;
int n,k,s;
int dp[N];
int sum[2][N]; int main()
{
int T,cas=1;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&n,&k,&s);
memset(sum,0,sizeof(sum));
memset(dp,0,sizeof(dp)); for(int i=0;i<=s;i++)
sum[0][i]=1; for(int i=1;i<=n;i++)
{
sum[i&1][0]=0;
for(int j=1;j<=s;++j)
{
int l,r;
l=max(0,j-k);
r=j-1;
if(l-1<0)
dp[j]=sum[(i-1)&1][r];
else
dp[j]=(sum[(i-1)&1][r]-sum[(i-1)&1][l-1]+mod)%mod;
sum[i&1][j]=(sum[i&1][j-1]+dp[j])%mod;
}
}
printf("Case %d: %d\n",cas++,dp[s]);
}
return 0;
} /*
5
1 6 3
2 9 8
500 6 1000
800 800 10000
2 100 10
*/

最新文章

  1. 特别实用而且功能强大的attributedText属性
  2. 实现 iframe 子页面调用父页面中的js方法
  3. centos 6.7 perl 版本 This is perl 5, version 22 安装DBI DBD
  4. linux c 得到时间
  5. WinExec函数,启动其他应用程序
  6. node基础篇二:模块、路由、全局变量课堂(持续)
  7. jedis &amp; common pool
  8. js开发环境配置
  9. 微信开发 提示 Redirect_uri(错误10003)
  10. Pinterest凭什么拥有那么多用户:机器学习是答案
  11. Golang知识图谱
  12. springboot 使用maven 打包 报 (请使用 -source 7 或更高版本以启用 diamond 运算符) 错误解决办法
  13. 深度学习论文翻译解析(四):Faster R-CNN: Down the rabbit hole of modern object detection
  14. 阿里云 Ubuntu16.04 apache2 ssl证书下载与安装(必须有域名)
  15. C# out关键词应用
  16. ecplise tomcat忽然出现404
  17. js数据结构之hash散列的详细实现方法
  18. Java中Collections类的排序sort函数两种用法
  19. hive使用map字段
  20. JDBC连接数据库7个步骤

热门文章

  1. Python yield 生成器
  2. Oracle 数据库中序列结合触发器实现主键自增长
  3. linux socket send和recv、write和read
  4. LeastRecentlyUsed
  5. Asynchronous programming with async and await (C#)
  6. DuiLib笔记之CDuiString的bug
  7. JVM无法启动,jps无法运行,提示内存不足
  8. Codeforces Beta Round #88 C. Cycle —— DFS(找环)
  9. Gym - 101147H H. Commandos —— DP
  10. FFMPEG more samples than frame size (avcodec_encode_audio2) 的解决方案