洛谷 题解 P5535 【【XR-3】小道消息】
我又双叒叕被包菜辣!
P5535 【XR-3】小道消息(这道题是个大水题
在题干中这位良心的作者就提醒了我们:
你可能需要用到的定理——伯特兰-切比雪夫定理。
那么什么是伯特兰-切比雪夫定理?
我也不知道,但无所不知的度娘知道就行了:
若整数n > 3,则至少存在一个质数p,符合n < p < 2n − 2。另一个稍弱说法是:对于所有大于1的整数n,存在一个质数p,符合n < p < 2n。
那么这个定理有什么用?
因为是从n中选一个数k,所以k + 1一定大于1
是不是刚好和伯特兰-切比雪夫定理的条件相吻合?
没错,我们想一下,分两种情况:
1.如果k + 1为质数,再分两种:
I.1~n中不含k+1的倍数,那么很明显第一天就可以了
II.1~n中含k+1的倍数,那么需要几天?
两天,为什么?因为在第一天,所有除去k + 1倍数的数都知道了,那么gcd((2 * (k + 1)), (2 * (k + 1)) + 1) = 1是一定的。所以只需要两天。
2.如果k + 1不是质数:
也是两天,告诉拥有k+1的质数编号的人,然后通过伯特兰-切比雪夫定理n > 3,存在p 符合n < p < 2 * n;
蒟蒻可能讲的不是很清楚,大家多多包涵,自己可以感性理解一下。
#include<bits/stdc++.h>
using namespace std;
#define int long long //一定要开long long,不开long long 见祖先
int n, k;
bool prime(int x)//很清晰的质数筛
{
if(x == 1)//特判一下1
return 0;
if(x == 2)//特判一下2
return 1;
for(int i = 2; i <= sqrt(x); ++ i)//就是枚举每个数,看看它是否是它的约数
if(x % i == 0)//如果不是的话
return 0;//直接return false
return 1;
}
signed main()
{
scanf("%lld%lld", &n, &k);
if(prime(k + 1) && 2 * k >= n)//其实,也很好理解,想一想,如果一个数是质数那么是不是除去它的倍数的数都与它互质?所以prime(k + 1)是判断它是不是质数,后面就是找有没有它的倍数(因为是连续的所以只有比一下大小即可
printf("1");
else//除去1的答案就是二了(会有解释
printf("2");
return 0;
}
PS:请看懂再抄
洛谷 题解 P5535 【【XR-3】小道消息】的更多相关文章
- 洛谷 题解 UVA572 【油田 Oil Deposits】
这是我在洛谷上的第一篇题解!!!!!!!! 这个其实很简单的 我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见 #include<iostream> #include&l ...
- 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)
必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...
- 洛谷题解P4314CPU监控--线段树
题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...
- 洛谷题解 CF777A 【Shell Game】
同步题解 题目翻译(可能有童鞋没读懂题面上的翻译) 给你三张牌0,1,2. 最初选一张,然后依次进行n次交换,交换规则为:中间一张和左边的一张,中间一张和右边一张,中间一张和左边一张...... 最后 ...
- 洛谷题解 CF807A 【Is it rated?】
同步题解 题目 好吧,来说说思路: 1.先读入啦~(≧▽≦)/~啦啦啦 2.判断a[i]赛前赛后是否同分数,如果分数不同,则输出,return 0 . 3.如果同分数,则判断a[i]赛前(或赛后)是否 ...
- 洛谷题解 P1138 【第k小整数】
蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...
- 【洛谷题解】P2303 [SDOi2012]Longge的问题
题目传送门:链接. 能自己推出正确的式子的感觉真的很好! 题意简述: 求\(\sum_{i=1}^{n}gcd(i,n)\).\(n\leq 2^{32}\). 题解: 我们开始化简式子: \(\su ...
- 洛谷题解 P2865 【[USACO06NOV]路障Roadblocks】
链接:https://www.luogu.org/problemnew/show/P2865 题目描述 Bessie has moved to a small farm and sometimes e ...
- 洛谷题解:P1209 【[USACO1.3]修理牛棚 Barn Repair】
原题传送门:https://www.luogu.org/problemnew/show/P1209 首先,这是一道贪心题. 我们先来分析它的贪心策略. 例如,样例: 4 50 18 3 4 6 ...
随机推荐
- 从BIO到Netty的演变
从BIO到Netty的演变 前言 计算机网络可以说是每个学计算机的都绕不过去的一道坎.计算机网络到底有多么重要,你走到大学图书馆的计算机部分,翻开那些什么<从零开始:黑客XXX>,< ...
- 使用 element-ui 级联插件遇到的坑
需求描述[省市区三级联动] 组件:Cascader 级联选择器 后端需要所选中的地区的名字,如:['北京市', '北京市', '东城区'] 获取后端省市区具体列表的接口返回数据: // 省 - 参数1 ...
- ubuntu下minicom和usb串口转接
ubuntu下minicom和USB转串口(转) (2013-03-23 21:07:54) 转载▼ 标签: it 分类: 嵌入式linux minicom是linux下串口通信的软件,它的使用完全依 ...
- docker监控容器
Weave Scope: 是能够自动生成一张 Docker 容器web动态图的监控软件,能够让我们直观地理解.监控和控制容器. 监控一台主机: 第一步:安装 [root@localhost ~]# c ...
- matlab中的eval函数使用
matlab中的eval函数使用 在matlab的命令行窗口中输入help eval命令回车就可以看到eval函数的官方解释,大概的意思就是执行matlab中的表达式,计算expression表示的代 ...
- 02-MyBatis执行Sql的流程分析
目录 获取Mapper 简单总结 重要类 参考 本博客着重介绍MyBatis执行Sql的流程,关于在执行过程中缓存.动态SQl生成等细节不在本博客中体现,相应内容后面再单独写博客分析吧. 还是以之前的 ...
- [WPF] Caliburn Micro学习一 Installation
在之前的文章(http://blog.csdn.net/alvachien/article/details/5670838)里面,已经提到过MVC和MVVM在Design Pattern上的比较. 首 ...
- 忘记Linux登录密码的破解方法
注意:1.破解方式只限于7.0以后的Linux系统. 2.要注意自己linux系统中有没有开启selinux,如果开启则在后面要建一个名为:autorelabel的隐藏文件. 1.启动Linu ...
- 100天搞定机器学习|Day56 随机森林工作原理及调参实战(信用卡欺诈预测)
本文是对100天搞定机器学习|Day33-34 随机森林的补充 前文对随机森林的概念.工作原理.使用方法做了简单介绍,并提供了分类和回归的实例. 本期我们重点讲一下: 1.集成学习.Bagging和随 ...
- element表格点击行即选中该行复选框
关键代码如下 <el-table ref="multipleTable" :data="tableData" highlight-current-row ...