zoukankan      html  css  js  c++  java
  • 【杭电】[5776]sum

    原文地址:http://www.boiltask.com/blog/?p=1986
    sum

    Time Limit: 2000/1000 MS (Java/Others)

    Memory Limit: 131072/131072 K (Java/Others)
    Problem Description

    Given a sequence, you’re asked whether there exists a consecutive subsequence whose sum is divisible by m. output YES, otherwise output NO

    Input

    The first line of the input has an integer T (1 leq T leq 101≤T≤10), which represents the number of test cases. For each test case, there are two lines: 1.The first line contains two positive integers n, m (1 leq n leq 1000001≤n≤100000, 1 leq m leq 50001≤m≤5000). 2.The second line contains n positive integers x (1 leq x leq 1001≤x≤100) according to the sequence.

    Output

    Output T lines, each line print a YES or NO.

    Sample Input

    2
    3 3
    1 2 3
    5 7
    6 6 6 6 6
    1
    2
    3
    4
    5
    2
    3 3
    1 2 3
    5 7
    6 6 6 6 6
    Sample Output

    YES
    NO
    1
    2
    YES
    NO
    中文题意:

    给定一个数列,求是否存在连续子列和为m的倍数,存在输出YES,否则输出NO

    官方题解:

    预处理前缀和,一旦有两个数模m的值相同,说明中间一部分连续子列可以组成m的倍数。 另外,利用抽屉原理,我们可以得到,一旦n大于等于m,答案一定是YES 复杂度 O(n)

    
    #include<stdio.h>
    #include<string.h>
    int flag[10000];
    int main() {
        int T;
        scanf("%d",&T);
        while(T--) {
            int n,m;
            scanf("%d %d",&n,&m);
            memset(flag,0,sizeof(flag));
            flag[0]=1;
            bool win=false;
            int sum=0;
            for(int i=0; i<n; i++) {
                int t;
                scanf("%d",&t);
                sum=(sum+t)%m;
                if(flag[sum]==1)
                    win=true;
                flag[sum]=1;
            }
            if(win)
                printf("YES
    ");
            else
                printf("NO
    ");
        }
        return 0;
    }

    题目地址:【杭电】[5776]sum

    原文地址:http://www.boiltask.com/blog/?p=1986

  • 相关阅读:
    Linux--VSFTP服务搭建
    Linux--Smba服务搭建
    Linux--DHCP搭建
    编程语言的分类
    用户,组及权限
    linux常用基本命令整理小结
    数据结构之顺序表实现
    进程管理之system
    进程管理之wait和waitpid
    进程管理之fork函数
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569445.html
Copyright © 2011-2022 走看看