• 2016年11月15日noip模拟赛


    苟..

    1.谜题

     1 #include <iostream>
     2 #include <stdio.h>
     3 using namespace std;
     4 int main()
     5 {
     6      freopen("puzzle.in","r",stdin);
     7      freopen("puzzle.out","w",stdout);
     8      int n;
     9      cin>>n;
    10      if (n<=4) cout<<"YES";
    11      else cout<<"XLSB";
    12      return 0; 
    13 }
    faq

    2.选修课

    #include <iostream>
    #include <stdio.h>
    #include <algorithm>
    #include <cmath>
    #include <string>
    #include <string.h>
    using namespace std;
    char a[233333];
    int num[1000]={};
    long long c[5001][5001];
    bool cmp(int x,int y)
    {
        return x>y;
    }
    int main()
    {
        int n,i,j;
        freopen("course.in","r",stdin);
        freopen("course.out","w",stdout);
        scanf("%s",a);
        scanf("%d",&n);
        int len=strlen(a);
        for (i=0;i<len;i++)
          num[a[i]-'a']++;
        sort(num,num+26,cmp);
        int ans=0;
        for (i=0;i<=n-1;i++)
          ans+=num[i];
        cout<<ans<<endl;
        int sps=0;
        int adln=0;
        for (i=0;i<=n-1;i++)
          if (num[i]==num[n-1]) sps++;
        for (i=0;i<=26;i++)
          if (num[i]==num[n-1]) adln++;
        c[0][0]=1ll;
        for (i=1;i<=26;i++)
          {
            c[i][0]=1;
            for (j=1;j<=i;j++)
              c[i][j]=(long long)c[i-1][j]+c[i-1][j-1];
        }
        cout<<c[adln][sps]<<endl;
        return 0;
    }
    faq

    3.质数

    /*
    kotori:
    首先考虑,质数<=根号n的情况 
    我们考虑 根号n以内的质数所组成的最优方案吧。
    可以搜索。(大概) 
    再考虑根号n以后的质数的方案
    “好难啊。。不会写啊” GG
    
    */
    #include <iostream>
    #include <stdio.h>
    #include <algorithm>
    #include <cmath>
    #include <string>
    #include <string.h>
    using namespace std;
    int prime[2333];
    bool light[23333]={};int maxsqrt=1;
    int maxnum_233=0;int n,m;
    void faq()
    {
        int i,j,temp=0;
        for (i=maxsqrt+1;i<=m;i++)
        {int rem=0;int kotori=0;
        for (j=prime[i];j<=n;j+=prime[i])
        {if (!light[j]) rem++;
        else kotori++;}
        if (rem>kotori)
        {for (j=prime[i];j<=n;j+=prime[i])
        {if (!light[j]) light[j]=1;
        else light[j]=0;}}
        }
        for (i=1;i<=n;i++)
        if (light[i]) temp++;
        maxnum_233=max(temp,maxnum_233);
    }
    void dfs(int x)
    {
        //cout<<x;
        //cout<<233;
        //while(1);
        if (x>maxsqrt)
        {faq();return ;}
        else
        {dfs(x+1);
        for (int i=prime[x];i<=n;i+=prime[x])
        {if (light[i])light[i]=0;
        else light[i]=1;}
        dfs(x+1);}
    }
    int main()
    {
        int i,j,T;//暴力搜索一下根号n以内的最优解吧。。
        freopen("prime.in","r",stdin);
        freopen("prime.out","w",stdout);
        scanf("%d",&T);
        while(T--)
          {
            scanf("%d%d",&n,&m);
            maxsqrt=1;
            int minsqrt=m;
            maxnum_233=0;//忘记清0辣然后一直找错误。。。QAQ 
            memset(light,0,sizeof(light));
            for (i=1;i<=m;i++)
              scanf("%d",&prime[i]);
            sort(prime+1,prime+m+1);
            for(i=1;i<=m;i++)
            if (prime[i]<=sqrt(n))
              maxsqrt=i;
            dfs(1);
            cout<<maxnum_233<<endl;
          }
          return 0;
    }
    faq

    今天题目难度还好。。

  • 相关阅读:
    计算机视觉--语义分割
    对团队成员公开感谢
    韩昊20191031-1 每周例行报告
    韩昊20191024-1 每周例行报告
    韩昊20191017-1 每周例行报告
    TensorFlow在windows 下的安装
    20191010-2 每周例行报告
    韩昊 20190919-1 每周例行报告
    韩昊 20190919-4 单元测试,结对
    2505-springboot使用spring.profiles.active来分区配置
  • 原文地址:https://www.cnblogs.com/yz12138/p/6064997.html
Copyright © 2020-2023  润新知