HDU-5776 Sum
来源:互联网 发布:mac os x lion 10.7 编辑:程序博客网 时间:2024/05/30 05:01
题目大意:
给定一个数列,求是否存在连续子列和为m的倍数,存在输出YES,否则输出NO
解题思路:
官方题解:预处理前缀和,一旦有两个数模m的值相同,说明中间一部分连续子列可以组成m的倍数。 另外,利用抽屉原理,我们可以得到,一旦n大于等于m,答案一定是YES 复杂度 O(n)
代码:
#include <cstdio>#include <cstring>using namespace std;const int maxn = 5000 + 5;int vis[maxn];int main(){ int n, m, x, t, sum, flag; scanf("%d", &t); while(t--){ scanf("%d%d", &n, &m); sum = 0; flag = 0; memset(vis, 0, sizeof(vis)); for(int i = 0; i < n; ++i){ scanf("%d", &x); sum = (sum + x) % m; vis[sum] += 1; if(vis[sum] >= 2) flag = 1; } if(flag || vis[0]) puts("YES"); else puts("NO"); } return 0;}
0 0
- HDU 5776 sum
- hdu 5776 sum
- HDU 5776 sum
- HDU-5776 Sum
- HDU 5776 sum
- HDU 5776 sum
- HDU 5776 sum
- BC85# HDU 5776 sum
- HDU 5776 sum
- Hdu 5776 sum
- HDU 5776 sum(数学)
- HDU 5776 (sum 前缀和)
- hdu 5776 sum 尺取法
- HDU 5776 sum(水~)
- hdu 5776 sum (抽屉原理)
- HDU - 5150 Sum Sum Sum
- hdu 5150 sum sum sum
- hdu 5150 Sum Sum Sum
- Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏
- redis入门--配置文件说明
- MYSQL基础知识总结
- android:仿支付宝/微信的密码输入框效果
- 如何在阿里云上部署django网站
- HDU-5776 Sum
- python中单引号,双引号,多引号区别
- zkw线段树
- A*,那个传说中的算法
- 多线程优点及同步方式
- 基于递归分割的迷宫生成算法与自动寻路
- 第三题
- 华为OJ 初级:图片整理
- C# 事件