USACO Longest Prefix
题目大意:给出一个长字符串,问最长的前缀,使得这个前缀能用给出的一些元素组合而成
思路:暴力dp,dp[i]表示长度为i的前缀能否被表示
/*{
ID:a4298442
PROB:prefix
LANG:C++
}
*/
#include<iostream>
#include<fstream>
#include<cstring>
#include<algorithm>
#define maxn 109
using namespace std;
ifstream fin("prefix.in");
ofstream fout("prefix.out");
//#define fin cin
//#define fout cout
int dp[];
char premitive[maxn*][maxn],ch[];
int check(int x,int y,int totle)
{
char temp[maxn],h=;
for(int i=x;i<=y;i++)
{
temp[++h]=ch[i];
}
temp[h+]='\0';
for(int i=;i<=totle;i++)
{
if(strcmp(temp+,premitive[i]+)==)return ;
}
return ;
}
int main()
{
int n,h=;
while()
{
fin>>(premitive[++h]+);
if(premitive[h][]=='.'){h--;break;}
}
char c;
int len=;
while(fin>>c)
{
if('A'<=c && c<='Z')ch[++len]=c;
}
ch[len+]='\0';
dp[]=;
for(int i=;i<=len;i++)
{
for(int j=max(i-,);j<=i;j++)
{
if(check(j,i,h)&& dp[j-])
{
dp[i]=;break;
}
}
}
int ans=;
for(int i=len;i>=;i--)
{
if(dp[i]==)
{
ans=i;
break;
}
}
fout<<ans<<endl;
return ;
}
USACO Longest Prefix的更多相关文章
- USACO Longest Prefix 【水】
用Dp的思想解决了这道题目,也就是所谓的暴力= = 题意:给出一个集合,一个字符串,找出这个字符串的最长前缀,使得前缀可以划分为这个集合中的元素(集合中的元素可以不全部使用). 还不会Trie 树QA ...
- 洛谷P1470 最长前缀 Longest Prefix
P1470 最长前缀 Longest Prefix 73通过 236提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 求大神指导,为何错? 题目描述 在生 ...
- Implement Trie and find longest prefix string list
package leetcode; import java.util.ArrayList; import java.util.List; class TrieNode{ Boolean isWord; ...
- cogs696 longest prefix
cogs696 longest prefix 原题链接 IOI1996原题? 其实这题我不会. map+string+手动氧气大法好 //就是这么皮(滑稽 Code // It is made by ...
- 【USACO 2.3】The Longest Prefix
题意: 给你一个少于200000的字符串,求最长的可以划分为给定词典里的单词的前缀. 题解: dp[i]表示第i位结尾的前缀是否可行,然后枚举每一位如果dp[i-1]==1,枚举所有单词,匹配成功的单 ...
- USACO Section2.3 Longest Prefix 解题报告 【icedream61】
prefix解题报告------------------------------------------------------------------------------------------ ...
- p1470 Longest Prefix
原本就想到dp,可是是我的思路是在串的各个位置都遍历一次set,看dp[i-st[k]]是否为1且前length(st[k])是st[k].这样200000*200*10会超时.更好的办法是在i位取前 ...
- P1470 最长前缀 Longest Prefix
题目描述 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的.生物学家对于把长的序列分解成较短的序列(即元素)很感兴趣. 如果一个集合 P 中的元素可以通过串联(元素可以重复使用,相当于 ...
- 洛谷 P1470 最长前缀 Longest Prefix
题目传送门 解题思路: 其实思路没那么难,就是题面不好理解,解释一下题面吧. 就是在下面的字符串中找一个子串,使其以某种方式被分解后,每部分都是上面所给集合中的元素. AC代码: #include&l ...
随机推荐
- 浏览器对DIV+CSS兼容性问题大总结
浏览器对DIV+CSS兼容性问题大总结 接触DIV+CSS架构已经快两年了,个人觉得css入门不难,但要学精并非一朝一夕的,现在大部分网络公司都比较主张用div+css来布局,这就面临着一个比较难的问 ...
- An internal error occurred during: "Map/Reduce location status updater". java.lang.NullPointerException
eclipse配置hadoop 2.6 服务器做的虚拟机,因为window是的hadoop会出现意想不到的错误,因为,我做了ubuntu的虚拟机供我使用 在虚拟机中进行映射设置 在eclipse中dr ...
- Python学习日志9月16日
刚才我差点睡着了,差资料的时候太费神,有些累. 今天早晨学习了<head first HTML and CSS>,今天把昨天没看了的关于字体和颜色的一章节看完了,真长.我详细的做了笔记,并 ...
- iOS打包上传app store各种问题解决总结
问题1 this action could not be completed. try again 问题2 there was an error sending data to the iTunes ...
- 文本编辑器vim/vi用法完全解读
vi用法 1.启动vim 2.命令模式和输入模式 3.退出vi 4.vi与ex命令 5.移动光标 6.跳转 7.搜索 8.插入文本 9.修改文本 10.替换文本 11.删除文本 12.恢复和撤销改变 ...
- [HDU5360]:Gorgeous Sequence(小清新线段树)
题目传送门 题目描述: (原题英文) 操作0:输入l,r,t,线段树区间与t取min. 操作1:输入l,r,区间取最大值. 操作2:输入l,r,区间求和. 输入格式: 第一行一个整数T,表示数据组数: ...
- java script DOM BOM
onclick 当用户点击某个对象时调用的事件句柄.ondblclick 当用户双击某个对象时调用的事件句柄. onfocus 元素获得焦点. ...
- GSS4 - Can you answer these queries IV || luogu4145上帝造题的七分钟2 / 花神游历各国 (线段树)
GSS4 - Can you answer these queries IV || luogu4145上帝造题的七分钟2 / 花神游历各国 GSS4 - Can you answer these qu ...
- hihoCoder-1093-SPFA
SPFA的卓越之处就在于处理多点稀疏图,因为点太多的话,我们直接用矩阵来存图的话是存不下的. 所以当我们用邻接矩阵来存图的话,我们就可以用SPFA来解决这类问题,spfa就是优化版的bellman-f ...
- [LUOGU] 3959 宝藏
https://www.luogu.org/problemnew/show/P3959 注意到n非常小,考虑状压/搜索. 发现状压需要枚举起点,跑n次,一个问题是转移不可以以数字大小为阶段了,考虑用d ...