CodeForces 14E Camels :利用1-4拼成长为n的序列,使准确含有t个峰t-1个谷,求方案数 :dp...
生活随笔
收集整理的這篇文章主要介紹了
CodeForces 14E Camels :利用1-4拼成长为n的序列,使准确含有t个峰t-1个谷,求方案数 :dp...
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
3?≤?n?≤?20,?1?≤?t?≤?10
如此小的數(shù)據(jù)接下來(lái)就能各種暴力了===
dp[i][j][k][t1][t2]表示前i個(gè)字符的最后兩個(gè)是j和k已有t1個(gè)峰t2個(gè)谷
枚舉當(dāng)前放的數(shù),轉(zhuǎn)移方程容易思考了=
復(fù)雜度是20*4*4*10*10*4==輕松過(guò)啊
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
轉(zhuǎn)載于:https://www.cnblogs.com/xiao-xin/articles/4370479.html
總結(jié)
以上是生活随笔為你收集整理的CodeForces 14E Camels :利用1-4拼成长为n的序列,使准确含有t个峰t-1个谷,求方案数 :dp...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 欧拉好猫登陆港澳市场,长城汽车进一步扩展
- 下一篇: 判断.java文件中getConnect