bzoj1566 [NOI2009]管道取珠
2017-04-01 11:32
239 查看
题目链接:bzoj1566
题目大意:
两个输入管道里面分别有n、m个有着两种颜色的珠子。只从右端取。依次于输出管道中形成。设对于一种的输出方式有ai种产生方法有K种不同的输出方式,求∑Ki=1a2i。
题解:
智商DP
看到a2i想到什么呢?ai×ai
嗯..ai是相同方式的产生方法的个数,那么ai×ai就可以看成两个人来玩这个游戏,产生方法相同的个数。
可是我想不到啊
设f[i][j][k]表示要取第i个球,第一个人在上方管道取了j个,第二个人在上方管道取了k个。
转移就很简单了
但是我还是在奇怪的地方纠结了好久qwq
题目大意:
两个输入管道里面分别有n、m个有着两种颜色的珠子。只从右端取。依次于输出管道中形成。设对于一种的输出方式有ai种产生方法有K种不同的输出方式,求∑Ki=1a2i。
题解:
智商DP
看到a2i想到什么呢?ai×ai
嗯..ai是相同方式的产生方法的个数,那么ai×ai就可以看成两个人来玩这个游戏,产生方法相同的个数。
可是我想不到啊
设f[i][j][k]表示要取第i个球,第一个人在上方管道取了j个,第二个人在上方管道取了k个。
转移就很简单了
但是我还是在奇怪的地方纠结了好久qwq
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define N 510 const int mod=1024523; int a ,b ,f[2] ;char s ; int main() { //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); int t=0,n,m,i,j,k; scanf("%d%d\n",&n,&m); gets(s+1); for (i=1;i<=n;i++) a[i]=s[i]-'A'; gets(s+1); for (i=1;i<=m;i++) b[i]=s[i]-'A'; f[0][0][0]=1;t=1; for (i=1;i<=n+m;i++) { for (j=0;j<=n;j++)//x从上面取了j for (k=0;k<=n;k++)//y从上面取了k if (f[1-t][j][k]>0) { int tt=f[1-t][j][k]; int ax=n-j,ay=n-k,bx=m-(i-1-j),by=m-(i-1-k); if (ax>0 && ay>0 && a[ax]==a[ay]) f[t][j+1][k+1]=(f[t][j+1][k+1]+tt)%mod; if (ax>0 && by>0 && a[ax]==b[by]) f[t][j+1][k]=(f[t][j+1][k]+tt)%mod; if (bx>0 && ay>0 && b[bx]==a[ay]) f[t][j][k+1]=(f[t][j][k+1]+tt)%mod; if (bx>0 && by>0 && b[bx]==b[by]) f[t][j][k]=(f[t][j][k]+tt)%mod; } t=1-t; memset(f[t],0,sizeof(f[t])); } printf("%d\n",f[1-t] ); return 0; }
相关文章推荐
- [BZOJ 1566][NOI2009]管道取珠(DP)
- bzoj1566【Noi2009】管道取珠
- BZOJ1566:[NOI2009]管道取珠——题解
- bzoj 1566: [NOI2009]管道取珠【dp】
- bzoj1566 [NOI2009]管道取珠
- bzoj 1566: [NOI2009]管道取珠
- 【BZOJ 1566】: 【NOI2009】管道取珠 另类DP
- [bzoj1566][NOI2009]管道取珠
- bzoj 1566 NOI 2009 管道取珠 DP 解题报告
- bzoj 1566: [NOI2009]管道取珠 (DP)
- [BZOJ]1566: [NOI2009]管道取珠
- bzoj1566: [NOI2009]管道取珠
- BZOJ1566 [NOI2009]管道取珠
- [BZOJ1566][NOI2009]管道取珠
- [BZOJ1566][NOI2009]管道取珠(DP)
- BZOJ 1566: [NOI2009]管道取珠 另类DP
- BZOJ1566: [NOI2009]管道取珠
- bzoj 1566: [NOI2009]管道取珠 动态规划
- BZOJ 1566: [NOI2009]管道取珠
- BZOJ1566 [NOI2009]管道取珠 【dp】