2017.4.26 组合数问题 思考记录
2017-04-26 19:05
369 查看
这个题和其他前缀和的题相比实在太直白了、
然而考场上并不会二维前缀和、、、、
注意判断的时候要加上j<i就行了、
码:
#include<iostream>
#include<cstdio>
using namespace std;
int f[2009][2009],hang[2009],T,i,k,sum[2009][2009],j,n,m;
int main()
{
scanf("%d%d",&T,&k);
f[0][0]=1;
for(i=1;i<=2000;i++)
{
hang[0]=0;
f[i][0]=1;
for(j=1;j<=2000;j++)
{
f[i][j]=(f[i-1][j]+f[i-1][j-1])%k;
if(!f[i][j]&&j<=i)hang[j]=hang[j-1]+1;
else hang[j]=hang[j-1];
// f[i][j]%=k;
//hang[j]=hang[j-1]+f[i][j];
sum[i][j]=sum[i-1][j]+hang[j]; //printf("%d %d %d\n",i,j,sum[i][j]);
}
}
for(i=1;i<=T;i++)
{
scanf("%d%d",&n,&m);
printf("%d\n",sum
[m]);
}
}
然而考场上并不会二维前缀和、、、、
注意判断的时候要加上j<i就行了、
码:
#include<iostream>
#include<cstdio>
using namespace std;
int f[2009][2009],hang[2009],T,i,k,sum[2009][2009],j,n,m;
int main()
{
scanf("%d%d",&T,&k);
f[0][0]=1;
for(i=1;i<=2000;i++)
{
hang[0]=0;
f[i][0]=1;
for(j=1;j<=2000;j++)
{
f[i][j]=(f[i-1][j]+f[i-1][j-1])%k;
if(!f[i][j]&&j<=i)hang[j]=hang[j-1]+1;
else hang[j]=hang[j-1];
// f[i][j]%=k;
//hang[j]=hang[j-1]+f[i][j];
sum[i][j]=sum[i-1][j]+hang[j]; //printf("%d %d %d\n",i,j,sum[i][j]);
}
}
for(i=1;i<=T;i++)
{
scanf("%d%d",&n,&m);
printf("%d\n",sum
[m]);
}
}
相关文章推荐
- 安卓跳转登录后如何记录之前的操作的问题思考
- 简图记录-人月神话-编程产品开发的问题与思考
- 动态规划;漂亮打印问题;时间复杂度O(n方); 思考方法记录在内;
- 图像检索服务器编写问题记录——服务器端模型再思考
- 2017.4.23 税收与补贴问题 思考记录
- 2017.4.20 hanoi双塔问题 思考记录
- 2017.10.30 覆盖问题 思考记录
- cocos2dx-lua里面class的实现的一些问题记录和思考
- 2017.3.25 魔术球问题 思考记录
- 记录一次JDK版本问题,引发的思考
- Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考
- KMP算法问题简单思考记录
- 2017.9.1 公路修建问题 思考记录
- 对LMAX架构以及Event Sourcing模式的一些新思考和问题的记录
- 图像检索服务器编写问题记录——线程中信号的处理方式思考
- Lucene.net(4.8.0) 学习问题记录四: IndexWriter 索引的优化以及思考
- 图像检索服务器编写问题记录——关于任务队列的思考
- 微软工程师对SQL Server中可不可以指定某一些语句不记录到日志。问题的回复。
- 从经济角度的思考:柠檬市场和中国网络游戏中的玩家素质问题
- n取的r的组合数问题