CodeForces 14E Camels :利用1-4拼成长为n的序列,使准确含有t个峰t-1个谷,求方案数 :dp...
生活随笔
收集整理的這篇文章主要介紹了
CodeForces 14E Camels :利用1-4拼成长为n的序列,使准确含有t个峰t-1个谷,求方案数 :dp...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
3?≤?n?≤?20,?1?≤?t?≤?10
如此小的數據接下來就能各種暴力了===
dp[i][j][k][t1][t2]表示前i個字符的最后兩個是j和k已有t1個峰t2個谷
枚舉當前放的數,轉移方程容易思考了=
復雜度是20*4*4*10*10*4==輕松過啊
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 int dp[21][5][5][11][11]; 6 int main() 7 { 8 int ans,n,t,i,j,k,x,y,l; 9 scanf("%d%d",&n,&t); 10 memset(dp,0,sizeof(dp)); 11 for (i=1;i<=4;i++) 12 for (j=1;j<=4;j++) dp[2][i][j][0][0]=i!=j; 13 for (i=3;i<=n;i++) 14 for (j=1;j<=4;j++) 15 for (k=1;k<=4;k++) 16 for (x=0;x<=t;x++) 17 for (y=0;y<=t;y++) 18 for (l=1;l<=4;l++) 19 if (k!=l) 20 dp[i][k][l][x+(j<k&&k>l)][y+(j>k&&k<l)]+=dp[i-1][j][k][x][y]; 21 ans=0; 22 for (i=1;i<=4;i++) 23 for (j=1;j<=4;j++) ans+=dp[n][i][j][t][t-1]; 24 printf("%d\n",ans); 25 return 0; 26 } View Code題目鏈接:http://codeforces.com/problemset/problem/14/E
轉載于:https://www.cnblogs.com/xiao-xin/articles/4370479.html
總結
以上是生活随笔為你收集整理的CodeForces 14E Camels :利用1-4拼成长为n的序列,使准确含有t个峰t-1个谷,求方案数 :dp...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欧拉好猫登陆港澳市场,长城汽车进一步扩展
- 下一篇: 《红霞岛》新中文预告发布,5 月 2 日