首页 > 其他 > 详细

[BZOJ2431][HAOI2009]逆序对数列(DP)

时间:2018-11-01 18:14:41      阅读:123      评论:0      收藏:0      [点我收藏+]

从小到大加数,根据加入的位置转移,裸的背包DP。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #define rep(i,l,r) for (int i=(l); i<=(r); i++)
 5 using namespace std;
 6 
 7 const int N=1010,mod=10000;
 8 int n,k,f[N][N],g[N][N];
 9 
10 int main(){
11     scanf("%d%d",&n,&k);
12     f[1][0]=1; rep(i,0,k) g[1][i]=1;
13     rep(i,2,n){
14         f[i][0]=g[i][0]=1;
15         rep(j,1,k){
16             f[i][j]=(g[i-1][j]-((j-i>=0)?g[i-1][j-i]:0)+mod)%mod;
17             g[i][j]=(g[i][j-1]+f[i][j])%mod;
18         }
19     }
20     printf("%d\n",f[n][k]);
21     return 0;
22 }

 

[BZOJ2431][HAOI2009]逆序对数列(DP)

原文:https://www.cnblogs.com/HocRiser/p/9890841.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!