• 第六十二天 牛客62场小白月赛


    A题

    大水题

    1. #include
    2. using namespace std;
    3. int h[10010];
    4. int t,n,m,a,k,b;
    5. void zhang(int h[])
    6. {
    7. while(--m)
    8. {
    9. for(int i=1;i<=n;i++)
    10. {
    11. h[i]+=a;
    12. if(h[i]>k) h[i]=b;
    13. }
    14. }
    15. for(int i=1;i<=n;i++)
    16. {
    17. cout<' ';
    18. }
    19. }
    20. int main()
    21. {
    22. cin>>t;
    23. while(t--)
    24. {
    25. cin>>n;
    26. for(int i=1;i<=n;i++)
    27. {
    28. cin>>h[i];
    29. }
    30. cin>>a>>k>>b;
    31. cin>>m;
    32. zhang(h);
    33. cout<
    34. }
    35. return 0;
    36. }

     B题

    这题核心是弄懂为什么只有0.1输出

    因为询问的数小于等于数字个数,分为两种情况

    1.所有数的和加起来等于询问的数的倍数,余零。

    2.因为个数大于要询问的数n,所以和的余数种类要小于个数。所以去掉一个数可以满足所有的余数情况。

    1. #include
    2. using namespace std;
    3. int t,l,r,m,n;
    4. long long int sum;
    5. int main()
    6. {
    7. cin>>t;
    8. while(t--)
    9. {
    10. cin>>l>>r;
    11. sum=1ll*(l+r)*(r-l+1)/2;
    12. cin>>m;
    13. while(m--)
    14. {
    15. cin>>n;
    16. if(sum%n==0) cout<<0;
    17. else cout<<1;
    18. cout<
    19. }
    20. }
    21. return 0;
    22. }

     

     C题

     先放一段别人代码,这题思路是只要质因子不同两个数组就不同。故分解质因子再比较就可以了。

    1. #include
    2. using namespace std;
    3. int n;
    4. int a[100005];
    5. int b[100005];
    6. int mp[1000005];
    7. int main()
    8. {
    9. cin>>n;
    10. for(int i = 1;i<=n;++i)
    11. {
    12. cin>>a[i];
    13. int x = a[i];
    14. for(int j = 2;j<=sqrt(x);++j)
    15. while(x%j==0)
    16. {
    17. mp[j]++;
    18. x/=j;
    19. }
    20. if(x>1)
    21. mp[x]++;
    22. }
    23. for(int i = 1;i<=n;++i)
    24. {
    25. cin>>b[i];
    26. int x = b[i];
    27. for(int j = 2;j<=sqrt(x);++j)
    28. while(x%j==0)
    29. {
    30. if(mp[j])
    31. {
    32. cout<<"No\n";
    33. return 0;
    34. }
    35. x/=j;
    36. }
    37. if(x>1)
    38. {
    39. if(mp[x])
    40. {
    41. cout<<"No\n";
    42. return 0;
    43. }
    44. }
    45. }
    46. cout<<"Yes\n";
    47. return 0;
    48. }

     可恶啊,为什么我写的不行啊,甚至用了线性筛法,双指针结果还是不行。明天继续,把剩下题肝完。

    #include
    using namespace std;

    const int N=1010;

    int n,cnt=0,cnt1=0,cnt2=0,prime[10000],a[N],b[N],c[N];
    bool flag=true,st[10000],st1[N];

    void primes()
    {
        for(int i=2;i<=100000;i++)
        {
            if(!st[i]) prime[cnt++]=i;
            for(int j=0;j<=100000/i;j++)
            {
                st[i*prime[j]]=true;
                if(i%prime[j]==0) break;
            }
        }
    }

    void judge(int x)
    {
        if(x==1) flag=false;
        for(int i=0;i     {
            
            if(x%prime[i]==0)
            {
                if(!st1[prime[i]])
                {
                    c[cnt1++]=prime[i];
                    st1[i]=true;
                }
            }
            
        }
        
    }

    int main()
    {
        cin>>n;
        primes();
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            judge(a[i]);
        }
        cnt2=cnt1;
        for(int i=1;i<=n;i++)
        {
            cin>>b[i];
            judge(b[i]);
        }
        for(int i=0,j=0;i     {
            while(a[cnt1-cnt2+j]>=a[i])
            {
                if(a[cnt1-cnt2+j]==a[i])
                    flag=false;
                j++;
            }
        }
       
        if(flag) cout<<"Yes";
        else cout<<"No";
        return 0;    
    }

    深夜加代码真的有种意境的(笑)

  • 相关阅读:
    用sql server知识回答
    C语言实现希尔排序
    软件设计师 下午题第四题
    如何在自动化测试中使用MitmProxy获取数据返回?
    Redis——》数据类型:Hash(哈希)
    文本内容安全审核
    图_图的存储_添加边_图的遍历_DFS_树的重心_BFS_图中点的层次
    基于Django+node.js+MySQL+杰卡德相似系数智能新闻推荐系统——机器学习算法应用(含Python全部工程源码)+数据集
    kube-scheduler framework
    【GIS奇妙之旅】遥感图像分类技术
  • 原文地址:https://blog.csdn.net/weixin_73922932/article/details/128045910