[关闭]
@994495jj 2017-07-14T15:58:15.000000Z 字数 474 阅读 731

cfgym101411E

201707 (ACM)动态规划----计数


  1. memset(f,0,sizeof(f));
  2. f[0][0]=f[1][0]=1;
  3. rep(i,1,n+1) {
  4. rep(j,1,i+1) {
  5. f[(j-1)&1][i]=(f[(j-1)&1][i]+1ll*f[0][j-1]*f[0][i-j]%m*C[i-1][j-1]%m)%m;
  6. }
  7. }
  8. printf("%d\n",(f[0][n]+f[1][n])%m);
  1. memset(f,0,sizeof(f));
  2. memset(c,0,sizeof(c));
  3. f[0]=f[1]=1;
  4. c[0]=c[1]=1;
  5. rep(i,2,n+1) {
  6. for(int j=1;j<=i;j+=2) {
  7. f[i]=(f[i]+1ll*f[j-1]*f[i-j]%m*c[j-1]%m)%m;
  8. }
  9. for(int j=i;j>=1;--j) {
  10. c[j]=(c[j]+c[j-1])%m;
  11. }
  12. }
  13. printf("%lld\n",(1ll*f[n]*(1+(1<n)))%m);
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注