翻车

【问题描述】

有一天,小武找到了翻车王,给了他n个整数a1,a2,a3,…an,翻车王需要选择其中的k个数,使得选出的k个数中任意两个的差都可以被m整除。

选出的数可以重复,但不可以超过这n个数中该数的个数。

翻车王不想翻车,所以需要你的帮助。

【输入格式】

第一行包括3个整数n,k,m(2 ≤ k ≤ n ≤ 100000,1 ≤ m ≤ 100000),n,k,m意义见题面。

第二行包括n个数a1,a2,a3,…an(0 ≤ ai ≤ 1000000000)。

【输出格式】

如果不可以选出k个数,使得选出这k个数中任意两个的差都可以被m整除,那么输出“No”。

否则,在第一行输出“Yes”。在第二行输出这k个整数b1,b2,...bk(所选的数字),两两数之间有一个空格。

如果有多种选择k个数字的方案,请输出任意一种。

【输入输出样例】

rollover.in rollover.out
4 3 5
2 7 7 7
Yes
2 7 7

【数据说明】

20%的数据n ≤ 15

50%的数据n ≤ 1000

另外20%的数据m ≤ 1000

100%的数据2 ≤ k ≤ n ≤ 10^5,1 ≤ m ≤ 10^5,0≤ ai ≤10^9


题解

暴力--

用一个循环找开头

for(int i=0;i<n;i++){
flag[i]=1;
if(findnext(a+i,1)) return 0;
flag[i]=0;
}

flag[i]是用来标记第i个书有没有用过了的

if(flag[i]==1)
continue;

findnext()返回bool值

用来判断有没有

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,k,m;
 4 int a[100000];
 5 bool flag[100000];
 6 bool findnext(int now[],int len){
 7     if(len>k) return 0;
 8     if(len==k) {
 9         cout<<"Yes"<<endl;
10         for(int i=0;i<len;i++)
11             cout<<now[i]<<" ";
12         return 1;
13     }
14     for(int i=0;i<n;i++)//寻找下一个
15     {
16         //
17 //        for(int debug=1;debug<=len;debug++) cout<<now[debug]<<" ";
18 //        cout<<endl;
19         //
20         if(flag[i]==1)
21         continue;
22         bool flagnext=1;
23         for(int j=0;j<len;j++)
24             flagnext=flagnext&&(a[i]-now[j])%m==0;
25         if(!flagnext) continue;
26         //else
27         int flagn = 0;
28         flag[i]=1;
29         now[len]=a[i];
30         flagn = findnext(now,len+1);
31         now[len]=0;
32         flag[i]=0;
33         return flagn;
34     }
35     return 0;
36 }
37 int main(){
38 //    freopen("rollover.in","r",stdin);
39 //    freopen("rollover.out","w",stdout);
40     cin>>n>>k>>m;
41     for(int i=0;i<n;i++)
42         cin>>a[i];
43     for(int i=0;i<n;i++){
44         flag[i]=1;
45         if(findnext(a+i,1)) return 0;
46         flag[i]=0;
47     }
48     cout<<"No";
49     return 0;
50 }

中间的注释(debug)是开始用来调试的。


暴力++

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<algorithm>
 6 const int inf=0X7f7f7f7f;
 7 using namespace std;
 8 int n,k,m,ans=0,t=inf;
 9 int main()
10 {
11 //  freopen("rollover.in","r",stdin);
12     cin>>n>>k>>m;
13     long long a[n+1],sum[n+1];
14     for(int i=1;i<=n;i++)
15     {
16         cin>>a[i];
17         sum[a[i]%m]++;
18     }
19     for(int i=0;i<m;i++)
20     {
21         if(sum[i]>=k)
22         cout<<"Yes"<<endl;
23         t=i;
24         break;
25     }
26     if(t==inf)
27     cout<<"No";
28     else
29     for(int i=1;i<=n;i++)
30     {
31         if(a[i]%m==t);
32         {
33             ans++;
34             if(ans<=k)
35             cout<<a[i]<<" ";
36             else break;
37         }
38     }
39     return 0;
40 }

源码来源:https://www.cnblogs.com/YYCether666/p/11185389.html

本来以为会超时的,没想到呀!


std

有关于最小公倍数的数论题

结论:

证明:

设d=gcd(a,b)

a=a'd

b=b'd

所以gcd(a',b')=1,即a',b'互质

题中:a+b是a*b的因子

所以(a'+b')d | a'd*b'd

两边约掉一个d

a'+b' | a'b'd

所以a'+b'<=d

又因为题中:(a'+b')d<=n

所以a'+b'<=sqrt(n)

设k=a'+b'

φ(k)=

等待明天std的下发。。。

转载于:https://www.cnblogs.com/send-off-a-friend/p/11184030.html

嵊州D4T1 翻车 rollover 真的翻车了相关推荐

  1. UWP 记一次WTS 和 UCT翻车经历

    这次翻车,真的,在网上绝对找不到回答的. 只有在WTS的Issues讨论中才找到,哈哈 不过这个应该比较少遇到吧,据我所知,提出Issue那个大胸弟和我都遇到了... 翻车具备的条件如下: 1. 使用 ...

  2. 华为鸿蒙系统抄袭安卓,抄袭安卓,效仿苹果?华为鸿蒙系统提前泄密,花粉直言翻车了...

    此前,华为余承东曾表示,鸿蒙系统将在四月份与消费者见面,如今四月已经过半,关于鸿蒙系统的消息也越来越多. 日前,确定搭载华为鸿蒙系统的华为新品--MatePad Pro2意外遭到曝光,导致华为鸿蒙系统 ...

  3. 豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了......

    上周,在小编的各种努力下(省略一万字),Kindle 官方终于答应给我一个广告位了.虽然只是开机屏,但我还是笑出了猪叫,毕竟上一次有这待遇还是 2018 年时的<算法图解>.所以错过了上次 ...

  4. 罗永浩直播翻车频现,抖音选错了吗?

    图片来源于网络 文|陈小江 来源 | 螳螂财经(ID:TanglangFin) 罗永浩如果能多花点时间,"花点时间"就不会悔不当初了. 5月15日,罗永浩直播为"花点时间 ...

  5. 机器人误触防熊喷雾24人住院?这个网站收集AI‘翻车’案例,所有‘罪证’都不放过

    还记得特斯拉自动驾驶事故吗? 还记得人脸识别种族歧视吗? AI设计初衷本是造福人类,但是却因技术或人为原因而经常"翻车",有些"翻车"可能只是闹个笑话,有些&q ...

  6. 吴晓波直播翻车,直播乱象,直播带货走进“全网最低价”怪圈

    吴晓波首次直播翻车,21世纪经济报道记者陶力撰写一篇文章<戳破明星直播泡沫:90万人观看成交不到10单,谁在"裸泳"?>.一文激起吴晓波团队的激烈反应,在微博进行发布声 ...

  7. 家门口的微醺“buff”——酒分之一开启社区酒吧式便利店次元

    酒分之一,一个2020年悄然出现在酒行业的另类玩家:产品,渠道,营销无不与传统玩法背道而驰.别人都在专注于某个品类深耕的时候,他们却推倒围墙做全品类的酒,花心且大胆:别人都在借经销商之力铺线下渠道时, ...

  8. 咸鱼半学期总结+老年人康复训练

    老年人刚Div2进行了场康复训练,B C一个快速幂,一个gcd数学思维巧妙法,写出来了,好开心,然后看下Clone的榜单,别人都AK了,可是不想开剩下两题了,似乎就是咸鱼的想法啊-盲目跟榜, 哇,ql ...

  9. 2020.7.25 PAT线上考试后记

    //---------------------------------------------------------------------// 又是被钉在耻辱柱上的一天,窗外依旧是淅淅沥沥和仿佛没 ...

  10. 【干货】中英文:汽车研发与制造专业术语汇总!

    PP Production Proveout 生产验证 TTO Tool Try-Out 工装设备试运行 (J1) Job 1 整车投产 DFMEA Design Failure Mode Effec ...

最新文章

  1. 你应该知道的计算机网络知识
  2. CodeSalt | Python数据结构的实现 — 链表
  3. 关于BFD(双向转发检测)开发的总结
  4. 《研磨设计模式》chap23 职责链模式chainOfResponsibility(3)功能扩展+总结
  5. Python基础教程:strip 函数踩坑
  6. Java中therad_java中Thread的深入了解(一)
  7. 程序人生:给年轻程序员关于开发过程的10条忠告
  8. MATLAB中MEX文件的编写与调试
  9. java中堆栈的基本操作_玩儿转队列和栈的基本操作及其应用:Java 版
  10. mysql 完整性概念_mysql基础知识
  11. linux nsf 扫描,linux 使用NSF 映射远程磁盘目录的实现
  12. ArcGIS10.5资源分享
  13. 初识Jasima-Jasima中的建模对象
  14. 实验7 寻址方式在结构化数据访问中的应用
  15. Linux驱动之异步OR同步,阻塞OR非阻塞概念介绍
  16. NMEA-0183协议(多星联合定位)
  17. mysql msdtc 不支持_MSDTC 服务意外地在 Windows Server 2012 或 Windows Server 2008 R2 SP1 中停止...
  18. 微信朋友圈评论功能设计实现
  19. Python实现SPGD(SGD)优化算法
  20. 我的世界服务器标记家位置,我的世界:你真的会看藏宝图吗?学会用标记,位置一次就找对...

热门文章

  1. 毛纲源-考研数学(数学一)常考题型及其解题方法技巧归纳--华中科技大学出版社
  2. 文献 | 柳叶刀发文:虚拟现实的新用途之治疗场所恐惧症
  3. 变频电源是否可以节能呢
  4. Java Files.walk示例
  5. java计算机毕业设计体检系统源码+系统+数据库+lw文档
  6. java火焰纹章攻略女神之剑_火焰纹章风花雪月图文攻略 主线流程+角色培养+转职系统 白云之章女神再生仪式②-游侠网...
  7. Freeze the Discriminator a Simple Baseline for Fine-Tuning GANs
  8. 计算机游戏cpu,千元级战斗机游戏CPU体验,大学4年够你天天开黑了
  9. 学习在html网页中打开展示pdf文件
  10. Uboot pmic调试