【DP】NOIP2015Day2T2[子串]题解
来源:互联网 发布:c语言 while break 编辑:程序博客网 时间:2024/06/05 04:39
解题报告
直接DP,
好像有三维做法,但是我不会……
示例程序
#include<cstdio>#include<cstring>using namespace std;const int maxn=1000,maxm=200,MOD=1e9+7;int n,m,K;char A[maxn+5],B[maxm+5];int f[2][maxm+5][maxm+5][2];inline void AMOD(int &x,int tem) {if ((x+=tem)>=MOD) x-=MOD;}int main(){ freopen("substring.in","r",stdin); freopen("substring.out","w",stdout); scanf("%d%d%d%s%s",&n,&m,&K,A+1,B+1); f[0][0][0][0]=1; for (int i=1,c=1;i<=n;i++,c^=1) for (int j=0;j<=i&&j<=m;j++) for (int k=0;k<=j&&k<=K;k++) { AMOD(f[c][j][k][0]=f[c^1][j][k][0],f[c^1][j][k][1]);f[c][j][k][1]=0; if (j&&k&&A[i]==B[j]) { AMOD(f[c][j][k][1]=f[c^1][j-1][k][1],f[c^1][j-1][k-1][0]); AMOD(f[c][j][k][1],f[c^1][j-1][k-1][1]); } } return printf("%d\n",(f[n&1][m][K][0]+f[n&1][m][K][1])%MOD),0;}
阅读全文
0 0
- 【DP】NOIP2015Day2T2[子串]题解
- Vijos[1982]NOIP2015Day2T2 子串 substring 动态规划
- [DP]【NOIP2015D2T2】子串 题解
- [题解]关键子工程 拓扑排序+DP
- [题解] 关键子工程(DP+拓扑)
- 【DP】BZOJ1084(SCOI2005)[最大子矩阵]题解
- NOIP2015子串题解
- [noip2015]子串 题解
- noip2015day2T2(wuwuwu
- NOIP2015DAY2T2【字串】
- HDU 1231 最大连续子序列 DP题解
- 【BZOJ1084】【杂题DP】[SCOI2005]最大子矩阵 题解
- 【noip2015】【DP】子串
- NOIP2015 子串 DP
- noip2015 子串 dp
- NOIP2015 子串 dp
- [DP] NOIP2015 子串
- 【GDOI2016】最长公共子串 题解
- 网页注册登录数据库(二)
- 背包系统中,交换两个物品的位置
- uva 10369
- zsh 下 git 别名(alias) 和 oh-my-zsh git 插件
- Java转换流&&字节流和处理流的典型配合
- 【DP】NOIP2015Day2T2[子串]题解
- C++风格_0, nullptr 和 NULL
- C++单例模式
- python mysql安装遇到的问题
- eclipse中Add External JARs的时候导入了zip格式文件导致eclipse不能正常跳转
- 解决Warning:android-apt plugin is incompatible with future version of Android Gradle plugin.
- Windows下搭建Eclipse+Tomcat环境
- uva1395 Slim Span
- Android 一一 探究活动