zoukankan      html  css  js  c++  java
  • 1

    #include<cstdio>
    #include<algorithm>
    #define Open(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);
    using namespace std;
    const int N=5e6+5;
    const int M=105;
    const int inf=2e9;
    int l,r,p,ans,tot,cnt,prime[M/3],a[N],g[N];
    bool check[M],f[N];
    void prepare(){
        for(int i=2;i<=p;i++){
            if(!check[i]) prime[++tot]=i;
            for(int j=1;j<=tot&&i*prime[j]<=p;j++){
                check[i*prime[j]]=1;
                if(!(i%prime[j])) break;
            }
        }
    }
    void dfs(int cur,int val){
        if(cur>tot){
            a[++cnt]=val;
            return ;
        }
        dfs(cur+1,val);
        while(1LL*val*prime[cur]<=r){
            val*=prime[cur];
            dfs(cur+1,val);
        }
    }
    int main(){
        Open(calc)
        scanf("%d%d%d",&l,&r,&p);
        prepare();
        dfs(1,1);
        sort(a+1,a+cnt+1);
        for(int i=2;i<=cnt;i++) g[i]=inf;
        f[1]=1;g[1]=0;
        for(int i=2,n=a[cnt];i<p;i++){
            int k=1;
            for(int j=1;a[j]*i<=n;j++){
                while(a[k]<a[j]*i) k++;
                g[k]=min(g[k],g[j]+1);
                f[k]|=g[k]+i<=p;
            }
        }
        for(int i=1;i<=cnt;i++) if(a[i]>=l&&f[i]) ans++;
        printf("%d
    ",ans);
        return 0;
    }
    #include<cstdio>
    #include<cstring>
    #define Open(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);
    using namespace std;
    const int N=1e5+5;
    int n,m,p,ans,len1,len2,g[N],fail[N];
    int s1[N],s2[N];
    int S1[N],S2[N];
    inline int read(){
        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;
    }
    inline void get_fail(){
        int p=0;fail[1]=0;
        for(int i=2;i<=len2;i++){
            while(p>0&&s2[i]!=s2[p+1]) p=fail[p];
            if(s2[i]==s2[p+1]) p++;
            fail[i]=p;
        }
    }
    inline void kmp(){
        int p=0;
        for(int i=1;i<=len1;i++){
            while(p>0&&s1[i]!=s2[p+1]) p=fail[p];
            if(s1[i]==s2[p+1]) p++;
            if(p==len2){
                g[++ans]=i-len2+1;
                p=fail[p];
            }
        }
    }
    void deal(int n,int *S,int *s){
        for(int i=1;i<n;i++){
            if(S[i+1]>S[i]) s[i]=2;
            if(S[i+1]==S[i]) s[i]=1;
            if(S[i+1]<S[i]) s[i]=0;
        }
    }
    int main(){
        Open(pat);
        n=read();m=read();p=read();
        len1=n-1;len2=m-1;
        if(n<m){puts("0");return 0;}
        if(m==1){
            printf("%d
    ",n);
            for(int i=1;i<=n;i++) printf("%d
    ",i);
            return 0;
        }
        for(int i=1;i<=n;i++) S1[i]=read();
        for(int i=1;i<=m;i++) S2[i]=read();
        deal(n,S1,s1);
        deal(m,S2,s2);
        get_fail();
        kmp();
        printf("%d
    ",ans);
        for(int i=1;i<=ans;i++) printf("%d
    ",g[i]);
        return 0;
    }
    #include<cstdio>
    #define min(a,b) (a<b?a:b)
    #define Open(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);
    using namespace std;
    const int N=3e5+5;
    int n,m,t,a[N],f[N];
    inline int read(){
        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 main(){
        Open(array);
        n=read();m=read();t=read();
        for(int i=1;i<=n;i++) a[i]=read();
        //first:all f[i]=0
        //f[i]:length of lis that val<=i
        for(int i=1;i<=min(m,t);i++){
            for(int j=1;j<=n;j++){
                for(int k=a[j];k<=m;k++){
                    if(f[k]<f[a[j]-1]+1){
                        f[k]=f[a[j]-1]+1;
                    }
                    else break;
                }
            }
        }
        printf("%d
    ",f[m]);
        return 0;
    }
  • 相关阅读:
    数据类型补充
    Kubernetes1.18.5 Cilium安装
    Cilium安装要求
    CentOS内核升级
    临时存储 Ephemeral Storage
    Pod优先级
    kubelet 垃圾回收策略
    Kubernetes Eviction驱逐
    根据PID查看具体的容器
    Kubernetes 资源预留(二)
  • 原文地址:https://www.cnblogs.com/shenben/p/6554484.html
Copyright © 2011-2022 走看看