usaco Longest Prefix
来源:互联网 发布:达芬奇14mac怎么改中文 编辑:程序博客网 时间:2024/05/01 09:42
很多看上去无从下手,或者暴力的复杂度超乎想象到实现都很困难的时候,可以考虑下两个临近状态的关系,通过状态的转移方程来解决问题。
拿这道题来说,我们要找可能的最长前缀,首先考虑最大子串(长度为n),也就是本身能否被组成,这个问题很复杂,但可以分解为,这个串减去所有构成元素后的子串能否被组成,也就是考察从若干个前面的状态是否可以推出下一个状态,只要有一个满足,dp【n】就应该置为1。
那么代码写出来就应该是从前往后循环,状态值由前往后求出,来保证转移方程的意义。
dp[0]=1;int m=strlen(c); for(i=1;i<=m;i++)//字符串的长度为m { int ok=0; for(j=0;j<k;j++)//k是构成元素的个数 { if(i>=e[j].len) { if(dp[i-e[j].len]) { int n=0; for(a=i-e[j].len+1;a<=i;a++) if(c[a-1]==e[j].s[n++]) ok=1; else {ok=0;break;} } } if(ok==1) break; } if(ok==1) {dp[i]=1;} }
0 0
- usaco: Longest Prefix
- USACO Longest Prefix,DP
- usaco Longest Prefix
- USACO-Longest Prefix
- USACO Longest Prefix
- usaco Longest Prefix
- USACO 2.3 Longest Prefix
- USACO-Longest Prefix
- USACO :Longest Prefix解题报告
- USACO:Longest Prefix简单dp
- USACO Section 2.3 Longest Prefix
- USACO 2.3.1 Longest Prefix
- USACO--2.3Longest Prefix+DP
- USACO 2.3.1 Longest Prefix
- USACO Section 2.3 Longest Prefix
- USACO 最长前缀 Longest Prefix
- USACO 2.3 Longest Prefix 题解
- USACO-Section2.3 Longest Prefix
- 应用程序的 DIY__(给程序加上新功能)
- 9.3 - 抗战胜利日
- 自我学习
- strcpy,strnpy和strlcpy的区别
- Codeforces 460d Littel victor and set
- usaco Longest Prefix
- 二进制中1的个数
- SQL存储过程+事务 常用实例
- 剑指offer整理归纳(2/2)
- 树莓派折腾日记2-DLNA云服务器的架设
- Web母版制作和母版嵌套
- arduino uno接口部分介绍
- 条款 07 为多态基类声明vitual析构函数
- poj3271Lilypad Pondg