cf 766#

天呢,太垃圾了我。。

AB懵逼了半天题意,C最后搞了个DP还不对。。。DP太垃圾了,,

 1 #include<bits/stdc++.h>
 2 #define INF 0x7fffffff
 3 #define LL long long
 4 #define N 100005
 5 using namespace std;
 6 inline int ra()
 7 {
 8     int x=0,f=1; char ch=getchar();
 9     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
10     while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
11     return x*f;
12 }
13 int main()
14 {
15     string s1,s2; cin>>s1>>s2;
16     if (s1.length()!=s2.length())
17     {
18         if (s1.length()>s2.length())
19             cout<<s1.length();
20         else cout<<s2.length();
21     }
22     else 
23     {
24         if (s1==s2) cout<<"-1";
25         else cout<<s1.length();
26     }
27     return 0;
28 }
#include<bits/stdc++.h>
#define INF 0x7fffffff
#define LL long long
#define N 100005
using namespace std;
inline int ra()
{
    int x=0,f=1; char ch=getchar();
    while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
    while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
    return x*f;
}
int a[N];
int main()
{
    int n=ra();
    for (int i=1; i<=n; i++) a[i]=ra();
    sort(a+1,a+n+1);
    for (int i=1; i<=n-2; i++)
    {
        if (a[i]+a[i+1]>a[i+2] && a[i+1]-a[i]<a[i+2])
        {
            cout<<"YES";
            return 0;
        }
    }
    cout<<"NO";
    return 0;
}
  1 /*#include<bits/stdc++.h>
  2 #define INF 0x7fffffff
  3 #define LL long long
  4 #define N 100005
  5 using namespace std;
  6 inline LL ra()
  7 {
  8     LL x=0,f=1; char ch=getchar();
  9     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
 10     while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
 11     return x*f;
 12 }
 13 bool vis[1005][1005];
 14 LL n,f[1005][1005],a[50],anslen;
 15 char s[1005];
 16 const LL mod=1e9+7;
 17 int main()
 18 {
 19     n=ra(); scanf("%s",s+1);
 20     for (LL i=0; i<26; i++) a[i]=ra();
 21     LL mn=INF;
 22     for (LL i=1; i<=n; i++)
 23     {
 24         mn=min(mn,a[s[i]-'a']);
 25         if (mn<i) break;
 26         f[i][1]=1;
 27         vis[i][1]=1;
 28         anslen=max(anslen,i);
 29     }
 30     for (LL i=1; i<=n; i++)
 31     {
 32         for (LL j=2; j<=i; j++)
 33         {
 34             LL mn=a[s[i]-'a'],cnt=1;
 35             for (LL k=i-1; k>=1; k--,cnt++)
 36             {
 37                 mn=min(mn,a[s[k]-'a']);
 38                 if (mn<cnt) break;
 39                 f[i][j]+=f[k][j-1];
 40                 if (vis[k][j-1]) vis[i][j]=1;
 41                 f[i][j]%=mod;
 42                 if (vis[k][j-1]) anslen=max(anslen,cnt);
 43             }
 44         }
 45     }
 46     LL anstot=0,ansnum;
 47     for (LL i=1; i<=n; i++) anstot+=f[n][i],anstot%=mod;
 48     cout<<anstot<<endl;
 49     for (LL i=1; i<=n; i++) 
 50         if (f[n][i]) 
 51         {
 52             ansnum=i;
 53             break;
 54         }
 55     cout<<anslen<<endl<<ansnum;
 56     return 0;
 57 }*/
 58 #include<bits/stdc++.h>
 59 #define INF 0x7fffffff
 60 #define LL long long
 61 #define N 100005
 62 using namespace std;
 63 inline LL ra()
 64 {
 65     LL x=0,f=1; char ch=getchar();
 66     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
 67     while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
 68     return x*f;
 69 }
 70 int f[N],n,dp[N],a[N],mx;
 71 char s[N];
 72 const int mod=1e9+7;
 73 bool check(int i, int j)
 74 {
 75     int l=j-i+1;
 76     for (int k=i; k<=j; k++)
 77     {
 78         if (a[s[k]-'a']<l)
 79             return 0;
 80     }
 81     return 1;
 82 }
 83 int main()
 84 {
 85     n=ra(); scanf("%s",s+1);
 86     for (int i=0; i<26; i++) a[i]=ra();
 87     memset(f,0x3f,sizeof(f));
 88     dp[0]=1; f[0]=0;
 89     for (int i=1; i<=n; i++)
 90         for (int j=1; j<=i; j++)
 91             if (check(i-j+1,i))
 92             {
 93                 dp[i]=(dp[i]+dp[i-j])%mod;
 94                 f[i]=min(f[i],f[i-j]+1);
 95                 if (dp[i-1]) mx=max(mx,j);
 96             }
 97     cout<<dp[n]<<endl;
 98     cout<<mx<<endl;
 99     cout<<f[n]<<endl;
100 }

 

posted @ 2017-02-10 10:05  ws_ccd  阅读(300)  评论(0编辑  收藏  举报