zoukankan      html  css  js  c++  java
  • 牛客OI赛制测试赛-序列-模拟

    哇这道题好坑啊,可能是我太菜了

    题意就是叫把一个连续序列分成K组,使得每个组的和都相等

    我最开始的想法是由于要分成K组,那我们知道,每组一定有sum(a[i])/k这样我们只需要每次当num==sum/k时,把num变成0

    这样我们看最后是不是0,即可判断是否可以分组,但是最后要考虑到末尾为0的情况,你比如,序列是9 -1 8 0,你分2组,那

    么我们知道,在8的时候我们就把num清空了,这样flag遇到0就变变成负数,就判断错了,我们其实可以这样,在最后再次判断num==0如果还等于0,那么就令flag为1,否则为-1

    感谢给我讲题的大佬

    #include<iostream>
    #include<string.h>
    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    int main()
    {
        int n,q;
        long long a[100005];
        while(~scanf("%d%d",&n,&q))
        {
            long long sum=0;
            for (int i=1; i<=n; i++)
            {
                scanf("%lld",&a[i]);
                sum+=a[i];
            }
            int k=0;
            int cnt=0;
            long long num=0;
            for (int i=1;i<=q;i++)
            {
                scanf("%d",&k);
                int flag=0;
                if (sum%k)
                {
                    flag=0;
                }
                else
                {
                    num=0;
                    cnt=0;
                    for (int i=1; i<=n; i++)
                    {
                        num+=a[i];
                         if (num==sum/k)
                        {
                            flag=1;
                            num=0;
                        }else {
                           flag=0;
                        }
                    }
                    if (num==0){
                        flag=1;
                    }
                }
                if (flag)printf("Yes
    ");
                    else printf("No
    ");
            }
        }
        return 0;
    }
    有不懂欢迎咨询 QQ:1326487164(添加时记得备注)
  • 相关阅读:
    Hufman编码实现运用1 (原理不描述)
    E
    1178: [Apio2009]CONVENTION会议中心
    1071: [SCOI2007]组队
    #333. 【NOIP2017】宝藏
    CF 96 D. Volleyball
    CF 987 D. Fair
    qbxt的题:运
    qbxt的题:找一个三元环
    4361: isn
  • 原文地址:https://www.cnblogs.com/bluefly-hrbust/p/9563065.html
Copyright © 2011-2022 走看看