博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5776 Sum
阅读量:5358 次
发布时间:2019-06-15

本文共 831 字,大约阅读时间需要 2 分钟。

题意:问是否存在序列n的某子序列之和是m的倍数

首先求每位%m后的前缀和 【 (a+b)%k == (a%k +b%k)%k】, a[i]=(a[i]+a[i-1])%m,若出现余数为0,则子序列存在

统计每个余数出现的次数,若出现两个相同余数 即a[k] == a[i] k>i, 或n>m(抽屉原理:m个数放进m-1个抽屉  必有两个数在同一个抽屉里)则子序列i+1...k必是m的倍数

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;typedef pair
p;typedef long double ld;#define mem(x) memset(x, 0, sizeof(x))#define me(x) memset(x, -1, sizeof(x))#define fo(i,n) for(i=0; i
>t; while(t--) { cin>>n>>m; mem(vis); ll f=0; for(i=1; i<=n; i++) cin>>a[i], a[i]+=a[i-1]; if(n>m) { cout<<"YES"<
1 || !a[i]) f=1; } if(f) cout<<"YES"<
View Code

 

转载于:https://www.cnblogs.com/op-z/p/10743344.html

你可能感兴趣的文章
alibaba / zeus 安装 图解
查看>>
Planned Delivery Time as Work Days (SCN discussion)
查看>>
Ubuntu:让桌面显示回收站
查看>>
Android上传头像代码,相机,相册,裁剪
查看>>
git 安装体验
查看>>
Oracle 给已创建的表增加自增长列
查看>>
《DSP using MATLAB》Problem 2.17
查看>>
if 循环
查看>>
uva 111 History Grading(lcs)
查看>>
Python学习week2-python介绍与pyenv安装
查看>>
php判断网页是否gzip压缩
查看>>
一个有意思的js实例,你会吗??[原创]
查看>>
sql server中bit字段实现取反操作
查看>>
Part3_lesson2---ARM指令分类学习
查看>>
jQuery拖拽原理实例
查看>>
JavaScript 技巧与高级特性
查看>>
Uva 11729 Commando War
查看>>
增强学习(一) ----- 基本概念
查看>>
ubuntu下USB连接Android手机
查看>>
C# 语句 分支语句 switch----case----.
查看>>