POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS【DP】
2014-07-28 01:24
357 查看
DP,要求序列回文且中间个最大,向两边非递增
DP始终还是得靠别人代码 哎
a[ i ] [ j ] 表示组成i的,最左边数是j的结果,那么答案=a[ i ] [ 0 ] +a[ i ] [ 1 ] +...+a[ i ] [ i ]
a[ i ] [ j ] += a[ i - 2 * j ] [ j ] ( i > 2 * j )
a[i][j] += 1 ( i == 2 * j )
DP始终还是得靠别人代码 哎
a[ i ] [ j ] 表示组成i的,最左边数是j的结果,那么答案=a[ i ] [ 0 ] +a[ i ] [ 1 ] +...+a[ i ] [ i ]
a[ i ] [ j ] += a[ i - 2 * j ] [ j ] ( i > 2 * j )
a[i][j] += 1 ( i == 2 * j )
#define ll __int64 #include<stdio.h> #include<string.h> int main(){ int i,j,k,n; ll res,a[300][300]; memset(a,0,sizeof(a)); for ( i = 0 ; i < 300 ; i++ ) a[0][i] = a[i][i] = 1 ; a[1][1] = a[2][1] = a[2][2] = 1 ; for(i=3;i<300;i++){ for(j=1;j<=i/2;j++){ if(i==2*j) a[i][j]++; else for(k=j;k<=i-2*j;k++){ a[i][j] += a[i-2*j][k]; } } } while(~scanf("%d",&n),n){ res = 0; for(i=0;i<=n;i++) res += a [i]; printf("%d %I64d\n",n,res); } return 0; }
相关文章推荐
- UNIMODAL PALINDROMIC DECOMPOSITIONS - POJ 1221 UVaLive 2560 dp
- poj 1221 dp(UNIMODAL PALINDROMIC DECOMPOSITIONS)
- POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS (母函数)
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS 动态规划
- POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS__动态规划
- POJ Unimodal Palindromic Decompositions(DP)
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS(母函数)
- POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- ACM 动态规划 POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS 题解
- [母函数]POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- poj1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS(递推/记忆化搜索+数学)
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS 整数拆分
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS (母函数)
- POJ #1221 - NIMODAL PALINDROMIC DECOMPOSITIONS
- poj 算法基础 编程题#1:UNIMODAL PALINDROMIC DECOMPOSITIONS
- OpenJudge(1221)——UNIMODAL PALINDROMIC DECOMPOSITIONS
- 1221--UNIMODAL PALINDROMIC DECOMPOSITIONS
- acm pku 1221 Unimodal palindromic decompositions的逻辑推理过程