zoukankan      html  css  js  c++  java
  • USACO Longest Prefix

    题目大意:给出一个长字符串,问最长的前缀,使得这个前缀能用给出的一些元素组合而成

    思路:暴力dp,dp[i]表示长度为i的前缀能否被表示

     1 /*{
     2 ID:a4298442
     3 PROB:prefix
     4 LANG:C++
     5 }
     6 */
     7 #include<iostream>
     8 #include<fstream>
     9 #include<cstring>
    10 #include<algorithm>
    11 #define maxn 109
    12 using namespace std;
    13 ifstream fin("prefix.in");
    14 ofstream fout("prefix.out");
    15 //#define fin cin
    16 //#define fout cout
    17 int dp[200009];
    18 char premitive[maxn*3][maxn],ch[200009];
    19 int check(int x,int y,int totle)
    20 {
    21     char temp[maxn],h=0;
    22     for(int i=x;i<=y;i++)
    23     {
    24         temp[++h]=ch[i];
    25     }
    26     temp[h+1]='';
    27     for(int i=1;i<=totle;i++)
    28     {
    29         if(strcmp(temp+1,premitive[i]+1)==0)return 1;
    30     }
    31     return 0;
    32 }
    33 int main()
    34 {
    35     int n,h=0;
    36     while(1)
    37     {
    38         fin>>(premitive[++h]+1);
    39         if(premitive[h][1]=='.'){h--;break;}
    40     }
    41     char c;
    42     int len=0;
    43     while(fin>>c)
    44     {
    45         if('A'<=c && c<='Z')ch[++len]=c;
    46     }
    47     ch[len+1]='';
    48     dp[0]=1;
    49     for(int i=1;i<=len;i++)
    50     {
    51         for(int j=max(i-10,1);j<=i;j++)
    52         {
    53             if(check(j,i,h)&& dp[j-1])
    54             {
    55                 dp[i]=1;break;
    56             }
    57         }
    58     }
    59     int ans=0;
    60     for(int i=len;i>=1;i--)
    61     {
    62         if(dp[i]==1)
    63         {
    64             ans=i;
    65             break;
    66         }
    67     }
    68     fout<<ans<<endl;
    69     return 0;
    70 }
  • 相关阅读:
    C++ P1890 gcd区间
    C++ P1372 又是毕业季I
    C++ CF822A I'm bored with life
    C++ P4057 [Code+#1]晨跑
    C++ CF119A Epic Game
    关于树状数组的几点总结
    markdown语法
    portal开发"下拉框"“日期框”查询要怎么配置
    泛型总结--待续
    Actioncontext跟ServletActionContext的区别---未完待续
  • 原文地址:https://www.cnblogs.com/philippica/p/4321933.html
Copyright © 2011-2022 走看看