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题解的更多相关文章

  1. 题解 【Codeforces988E】Divisibility by 25

    本题是数论好题! 首先我们需要了解一个关于数论的性质: 一个数只要后两位能被25(或4)整除,这个数就能被25(或4)整除. 同理,后三位:(或8).后四位:(或16)亦是如此. 所以,我们只需要判断 ...

  2. 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/ ...

  3. codeforces 630J Divisibility

    J. Divisibility time limit per test 0.5 seconds memory limit per test 64 megabytes input standard in ...

  4. Codeforces Testing Round #12 A. Divisibility 水题

    A. Divisibility Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/597/probl ...

  5. Codeforces Round #486 (Div. 3) E. Divisibility by 25

    Codeforces Round #486 (Div. 3) E. Divisibility by 25 题目连接: http://codeforces.com/group/T0ITBvoeEx/co ...

  6. Codeforces 550C —— Divisibility by Eight——————【枚举 || dp】

     Divisibility by Eight time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  7. 题解合集 (update on 11.5)

    收录已发布的题解 按发布时间排序. 部分可能与我的其他文章有重复捏 qwq . AtCoder for Chinese: Link ZHOJ: Link 洛谷 \(1\sim 5\) : [题解]CF ...

  8. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  9. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

随机推荐

  1. docker中自定ingress网络

    在某些时候,docker自动生成的ingress网络会与服务器上已经存在的网络产生冲突,这个时候,你需要自定义ingress. 在自定义前,你需要删除所有有端口发布的服务. 使用命令docker ne ...

  2. C#图解教程读书笔记(第9章 语句)

    文件头的Using是Using指令,不是using语句 using (TextWriter tw = File.CreateText("xixi.txt")) { tw.Write ...

  3. Path模块部分常用函数解析——NodeJS

    官网地址:https://nodejs.org/api/path.html path.resolve([...paths])# Added in: v0.3.4 参数[...paths]: <S ...

  4. QuantLib金融库的简易安装

    最近在弄毕设,研究关于固定收益债券定价方面的知识,需要使用到QuantLib这个Python金融库,但是这是一个C++编译的库,官网也只给出了源代码,安装起来十分繁琐,所以在网上找了一个简易的安装方法 ...

  5. cannot be resolved解决方法

    引言: eclipse新导入的项目经常可以看到“XX cannot be resolved to a type”的报错信息.本文将做以简单总结. 正文: (1)jdk不匹配(或不存在) 项目指定的jd ...

  6. WMIC常用

    显示详细的进程信息 查找进程的具体路径 通过比较严查可疑文件 显示本机安装的软件

  7. mysql忘记密码重置密码方法

    https://blog.csdn.net/weidong_y/article/details/80493743

  8. 【noip模拟赛 sword,zero,2048】 题解

    1.光剑 (sword.pas/c/cpp) [题目描述] 小林和亮亮各有一把光剑,长度分别为 a 和 b,他们拿光剑进行比试.每一回合,长光剑会砍向短光剑,砍完后,短光剑完好无损,而长光剑则被截成两 ...

  9. 移动端web开发技巧和常见问题

    常见问题 1.移动端如何定义字体font-family 三大手机系统的字体: ios 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue ...

  10. Multicast Routing

    Multicasting Source S sends packets to multicast group G1 (and minimize the number of copies) Revers ...