1213 trie+DP
来源:互联网 发布:网络远程教育报考 编辑:程序博客网 时间:2024/05/18 12:42
#include<cstdio>#include<stdlib.h>#include<string.h>#include<string>#include<cmath>#include<cstring>#include<algorithm>#include<map>#include<set>#include<queue>#include<vector>using namespace std;#define maxno 1000000#define size 26#define INF 10000000000000000long long d[1005];struct trie{ int ch[maxno][size]; int val[maxno]; int sz; void clear() { sz=1; memset(ch[0],0,sizeof(ch[0])); } int idx(char x) { return x-'A'; } void insert(char *s,int v) { int u=0; int n=strlen(s); for(int i=0;i<n;i++) { int c=idx(s[i]); if(!ch[u][c]) { memset(ch[sz],0,sizeof(ch[sz])); val[sz]=0; ch[u][c]=sz++; } u=ch[u][c]; } val[u]=v; } int find(char *s,int a,int b) { int u=0; int n=strlen(s); for(int i=a;i<=a+b;i++) { // printf("%c",s[i]); int c=idx(s[i]); if(!ch[u][c]) return 0; u=ch[u][c]; } return val[u]; }}h;int main(){//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout); char s[1005],s1[1005]; int v[100005]; int n; while(scanf("%s",s)!=EOF){ int m=strlen(s); fill(d,d+m,INF); h.clear(); scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%s%d",s1,&v[i]); h.insert(s1,v[i]); } // for(int i=0;i< 7;i++) // printf("%d\n",h.val[i]); d[m]=0; for(int i=m-1;i>=0;i--) { for(int j=0;j<m-i;j++){ int k=h.find(s,i,j); // printf("%d\n",k); if(k) d[i]=min(d[i],k+d[i+1+j]); } } // for(int i=0;i<=m;i++) if(d[0]==INF) printf("No\n"); else printf("Yes %lld\n",d[0]); }return 0;}
0 0
- 1213 trie+DP
- trie+dp
- uva 1401 dp+Trie
- LA3942 Trie+DP
- uvalive 3942(dp + trie)
- UVA1401&LA3942 Trie+DP
- LA3942 trie+dp
- hdu4570Multi-bit Trie (区间DP)
- Uva1401 Trie树 + 简单dp
- dp+trie nbut1222 English Game
- UVALive 3942 Trie加速dp
- LA3942——Trie,一维dp
- HDU4570:Multi-bit Trie(区间DP)
- dp hdu-4570-Multi-bit Trie
- hdu 4570 Multi-bit Trie(dp水题)
- HDU4570----Multi-bit Trie----简单的DP
- LA3942 remember the word trie+dp
- LA 3942 Remember the Word(Trie+DP)
- hdu 2680 Choose the best route 大年三十的首A 赤裸裸的Dijkstra 做这题需要一个小技巧
- (ZT)Notes on Implementing an OLE Control Container
- 只有养老机器人才能拯救未来“老龄化中国”
- C++程序设计课程中的团队建设
- C#学习之构造函数
- 1213 trie+DP
- iOS 心跳动画(收藏红心动画)
- 欢迎访问Chaotyler的主页
- ACM 计算几何中的精度问题
- Linux信号实践(5) --时间与定时器
- This Android SDK requires Android Developer Toolkit version 20.0.0 or above
- [CODEVS 3037] 线段覆盖 5
- Triangle Hazard - UVa 12165 几何
- java8增强的包装类