NOIP2015 子串
来源:互联网 发布:做x展架用什么软件 编辑:程序博客网 时间:2024/06/05 17:13
Problem
偷个懒不会被发现的吧
NOIP的题目到处都找的到,我就不写了~~
Solution
思维难度还是有点高的哇……反正这个dp方程我是实在没推出来。
用f[j][k]表示取到a[i]位时,在b的前j位取k个子串的方案数;g[j][k]表示a的前i位,在b的前j位,取k个子串的方案数。状态转移方程见下。
代码奇短无比,这里用了一点降维的优化,将j倒着循环就可以实现滚动数组。
Code
#include <iostream>#include <cstdio>using namespace std;const int maxn=1010,maxm=210,mod=1e9+7;int n,m,k,f[maxm][maxm],g[maxm][maxm];string a,b;int main(){ scanf("%d %d %d\n",&n,&m,&k); cin>>a>>b; f[0][0]=g[0][0]=1; for(int i=1;i<=n;i++) for(int j=m;j>=1;j--) for(int r=1;r<=k;r++) { if(a[i-1]!=b[j-1]) { f[j][r]=0; continue; } f[j][r]=(f[j-1][r]%mod+g[j-1][r-1]%mod)%mod; g[j][r]=(f[j][r]%mod+g[j][r]%mod)%mod; } printf("%d\n",g[m][k]); return 0;}
阅读全文
0 0
- 【NOIP2015】子串
- NOIP2015 day2t2 子串
- 【NOIP2015】子串
- NOIP2015 子串
- 【noip2015】【DP】子串
- NOIP2015 子串 DP
- NOIP2015子串
- noip2015 子串 dp
- NOIP2015子串
- NOIP2015 day2t2 子串
- NOIP2015 子串 dp
- [NOIP2015]Day2T2 子串
- NOIP2015子串题解
- luogu2679 noip2015 子串
- 【NOIP2015】子串
- [DP] NOIP2015 子串
- [noip2015]子串 题解
- NOIP2015 子串
- INSERT INTO SELECT 和 SELECT INTO 语句的区别
- 对前后端分离的观点
- java8的Stream
- hibernate的TO,PO,DO原理
- 尾调用与尾递归
- NOIP2015 子串
- notification使用
- Loadrunner接口测试基本操作方法
- 线段覆盖P1791
- PDF文件转为CAD格式
- Js操作Select大全
- Java :内部类
- ORACLE删除用户时断开当前连接的用户
- 160个练手CrackMe-017