codeforces 577B Modulo Sum
题目链接:【codeforces 577B】
问能不能在大小是n的数列中取出几个数,使得他们的和是m的倍数
如果n>m,那么无论n个数是多少,都可以,这是一个定理
所以我们要讨论的就是n<=m的时候
对于1 2 2 3这个数列
我们能得到的和有1 2 3 4 5 6
重复的就直接去掉
所以用set容器来保存前i个数能得到的和
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <vector>
#include <set>
#include <functional>
using namespace std;
int a[1000005];
int sum[1005];
int main()
{int n,m;scanf("%d%d",&n,&m);for(int i=0;i<n;i++){scanf("%d",&a[i]);}if(n>m) {printf("YES\n");return 0;} set<int>s;set<int>::iterator it;s.insert(a[0]%m);for(int i=1;i<n;i++){int l=-1;it=s.begin();int si=*it;if(si==0){printf("YES\n");return 0;}for(it=s.begin();it!=s.end();++it){l++;int si=*it;sum[l] = (si+a[i])%m;}for(int j=0;j<=l;j++) s.insert(sum[j]);s.insert(a[i]);}it=s.begin();int si=*it;if(si==0){printf("YES\n");return 0;}printf("NO\n");return 0;
}
codeforces 577B Modulo Sum相关推荐
- CodeForces - 577B Modulo Sum(dp+bitset优化)
题目链接:点击查看 题目大意:给出一个长度为 n 的数列,现在问能否选出一个子序列,满足其累加之和可以整除 m 题目分析:可以当做背包去思考,dpi,jdp_{i,j}dpi,j代表的是选了前 i ...
- Codeforces Round #319 (Div. 2)B. Modulo Sum DP
B. Modulo Sum time limit per test 2 seconds ...
- Modulo Sum
题目链接:Problem - 577B - Codeforces Modulo Sum 求n个数中是否存在任意个数的和恰好能整除m,n的范围是1e6,m的范围是1e3. 抽屉原理可以证明当n> ...
- 「一题多解」【CodeForces 85D】Sum of Medians(线段树 / 分块)
题目链接 [CodeForces 85D]Sum of Medians 题目大意 实现一个setsetset,支持插入,删除,求∑a5k+3∑a5k+3\sum a_{5k+3}.注意,setsets ...
- CF577B Modulo Sum(dp,抽屉原理 | bitset优化 | 二进制优化)
洛谷链接: Modulo Sum - 洛谷 思路: 明显是一个背包问题,要求子序列和整除m,即sum%m = 0,所以边取模边求和即可.但是朴素做法的时间复杂度是O(nm),会TLE.有三种优化思路 ...
- Codeforces 1196B Odd Sum Segments
https://codeforces.com/contest/1196/problem/B 题解:贪心 /* *@Author: STZG *@Language: C++ */ #include &l ...
- Educational Codeforces Round 37-F.SUM and REPLACE (线段树,线性筛,收敛函数)
F. SUM and REPLACE time limit per test2 seconds memory limit per test256 megabytes inputstandard inp ...
- Codeforces 797B - Odd sum
B. Odd sum 题目链接:http://codeforces.com/problemset/problem/797/B time limit per test 1 second memory l ...
- Codeforces 963A Alternating Sum 【数论+数学】
官方题解这个样子我觉得说得比较清楚.Z我们可以朴素的预处理出来(注意乘法膜),q的话考点在于[分数取膜]即 (a/b)%P = a* inverse of b %P 这就涉及到算b的逆元,我用的是欧几 ...
最新文章
- 逆向建模软件介绍_逆向技术在2代机修理中的应用
- 阿里云主机CentOS添加硬盘
- 吴恩达ex3_吴恩达Machine Learning Ex3 python实现
- Python 进阶 —— 迭代器与生成器
- C++11/14::右值引用
- [译] 关于 SPA,你需要掌握的 4 层 (1)
- 关于SRE方法论的一些笔记
- PHP安装Xdebug
- vscode中设置切换终端快捷键
- 关于闰年和平年的每个月有多少天
- platfrom设备驱动框架
- 人工智能的软件研发管理系统
- [开发工具]记录MPLAB新老双IDE与C18编译器配置
- 第五章第三十八题(十进制转换八进制)(Decimal to octal)
- 一节计算机课作文500,难忘的一节课作文500字4篇
- 测绘专业计算机课程,测绘工程有哪些基础课程?
- {魔兽编辑器学习笔记} 一 安装编辑器、创建地图
- 评审8年终获发表,数学天才望月新一证明abc猜想,全球只有十几个数学家读懂但争议未消...
- html像素和em转换,CSS3中的弹性布局em运用入门详解 1em等于多少像素
- MPP数据库查询表占用空间
热门文章
- 大学计算机基础实验指导第一章答案,(教材)大学计算机基础实验指导与习题解答...
- Load balancer 负载均衡
- 网页图片无缝循环滚动html代码
- 电视hdr测试软件,4K电视HDR尽量选择yuv,效果最好,有效解决HDR下画面发白!
- Mac绘图软件:Paint X
- 【狂神说Java】Docker最新超详细版教程通俗易懂
- 竣达技术丨电池巡检微信云监控系统
- 工具条研究手记(2) - 认识CToolBar工具条类
- 依图胸部CT新冠肺炎智能评价系统:三大智能功能精准辅助医学分析|百万人学AI评选
- 【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现(更新完毕)