Divisibility题解
From lyh 学长
2018.5.3 信(liang)心(liang)杯T3
一道略弱的数论题。
题目描述
给定 n个数,问是否能从中选出恰好 k个数,使得这些数两两之差可以被 m 整除。
输入输出格式
输入格式:
第一行输入三个正整数 n,k,m。
接下来一行 n个正整数。
输出格式:
若不能选出 k个数,则输出"No "(不包含引号)。
若可以,第一行输出" Yes"(不包含引号),第二行输出 k个正整数,用空格隔开,如果有多种方案,输出字典序最小的方案。
样例一
输入:3 2 3 1 8 4
输出:Yes
1 4
样例二
输入:3 3 3 1 8 4
输出:No
样例三
输入:4 3 5 2 7 7 7
输出:Yes
2 7 7
解析
可用简单同余知识来处理然而我考试时是用DP做的。
一道略弱的数论题。
若两数之差被m整除,则这两个数关于m同余。
轻松解出。
#include<bits/stdc++.h>
using namespace std;
int main(){
int al[],bl[],cl[],m,n,k,l=,q;
scanf("%d%d%d",&n,&k,&m);
for(int i=;i<=n;i++)
scanf("%d",&al[i]);
sort(al+,al++n);
for(int i=;i<=n;i++)
cl[i]=al[i]%m;
for(int i=;i<=n;i++)
bl[cl[i]]++;
for(int i=;i<m;i++){
if(bl[cl[i]]>=k){
cout<<"Yes"<<endl;
for(int j=;j<=n;j++){
if(cl[i]==cl[j]){
printf("%d ",al[j]);
l++;
if(l==k) return ;
}
}
}
}
cout<<"No"<<endl;
return ;
}
Divisibility题解的更多相关文章
- 题解 【Codeforces988E】Divisibility by 25
本题是数论好题! 首先我们需要了解一个关于数论的性质: 一个数只要后两位能被25(或4)整除,这个数就能被25(或4)整除. 同理,后三位:(或8).后四位:(或16)亦是如此. 所以,我们只需要判断 ...
- Codeforces Round #306 (Div. 2) C. Divisibility by Eight 暴力
C. Divisibility by Eight Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/ ...
- codeforces 630J Divisibility
J. Divisibility time limit per test 0.5 seconds memory limit per test 64 megabytes input standard in ...
- Codeforces Testing Round #12 A. Divisibility 水题
A. Divisibility Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/597/probl ...
- Codeforces Round #486 (Div. 3) E. Divisibility by 25
Codeforces Round #486 (Div. 3) E. Divisibility by 25 题目连接: http://codeforces.com/group/T0ITBvoeEx/co ...
- Codeforces 550C —— Divisibility by Eight——————【枚举 || dp】
Divisibility by Eight time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- 题解合集 (update on 11.5)
收录已发布的题解 按发布时间排序. 部分可能与我的其他文章有重复捏 qwq . AtCoder for Chinese: Link ZHOJ: Link 洛谷 \(1\sim 5\) : [题解]CF ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
随机推荐
- docker中自定ingress网络
在某些时候,docker自动生成的ingress网络会与服务器上已经存在的网络产生冲突,这个时候,你需要自定义ingress. 在自定义前,你需要删除所有有端口发布的服务. 使用命令docker ne ...
- C#图解教程读书笔记(第9章 语句)
文件头的Using是Using指令,不是using语句 using (TextWriter tw = File.CreateText("xixi.txt")) { tw.Write ...
- Path模块部分常用函数解析——NodeJS
官网地址:https://nodejs.org/api/path.html path.resolve([...paths])# Added in: v0.3.4 参数[...paths]: <S ...
- QuantLib金融库的简易安装
最近在弄毕设,研究关于固定收益债券定价方面的知识,需要使用到QuantLib这个Python金融库,但是这是一个C++编译的库,官网也只给出了源代码,安装起来十分繁琐,所以在网上找了一个简易的安装方法 ...
- cannot be resolved解决方法
引言: eclipse新导入的项目经常可以看到“XX cannot be resolved to a type”的报错信息.本文将做以简单总结. 正文: (1)jdk不匹配(或不存在) 项目指定的jd ...
- WMIC常用
显示详细的进程信息 查找进程的具体路径 通过比较严查可疑文件 显示本机安装的软件
- mysql忘记密码重置密码方法
https://blog.csdn.net/weidong_y/article/details/80493743
- 【noip模拟赛 sword,zero,2048】 题解
1.光剑 (sword.pas/c/cpp) [题目描述] 小林和亮亮各有一把光剑,长度分别为 a 和 b,他们拿光剑进行比试.每一回合,长光剑会砍向短光剑,砍完后,短光剑完好无损,而长光剑则被截成两 ...
- 移动端web开发技巧和常见问题
常见问题 1.移动端如何定义字体font-family 三大手机系统的字体: ios 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue ...
- Multicast Routing
Multicasting Source S sends packets to multicast group G1 (and minimize the number of copies) Revers ...