codeforces 1260C. Infinite Fence (数学or裴蜀定理)
- 只需要验证小间隔在大间隔之间有没有连续的k个
- 设小间隔为a,大间隔为b,那么a在b之间出现的次数在\(\lfloor \frac{b}{a}\rfloor\)或者\(\lfloor \frac{b}{a}\rfloor+ 1\),问题转化为我们需要求a在b之间最多出现多少次和k比较即可
我的思路:
- 设lcm为lcm(a,b),\(c=\frac{lcm}{a}\),\(d=\frac{lcm}{b}\),那么a在b之间最多出现\(\lceil\frac{c-1}{d} \rceil\),理解为将(c-1)平均分成d段(最后一个a算作b的,所以是c-1个)
标程思路(裴蜀定理):
若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。
- 还是求a在b之间最多出现多少次,进一步再想,什么时候会出现最多的情况,那一定是a的起点在距离0最近的非0点上,列出式子\(ax-by=m\),m最小的时候为gcd(a,b),因此只需要验证\(gcd(a,b)+(k-1)*a\)和b的大小关系即可
#include<bits/stdc++.h>
#define ll long long
#define mk make_pair
#define ft first
#define se second
#define pii pair<int,int>
#define db double
#define ls o<<1
#define rs o<<1|1
#define lowbit(x) (x&-x)
using namespace std;
ll T, a, b, k;
ll gcd(ll a,ll b){
    if(a<b)swap(a,b);
    if(b==0)return a;
    else return gcd(b,a%b);
}
int main(){
    cin >> T;
    while(T--){
        cin >> a >> b >> k;
        if(a > b)
            swap(a, b);
        ll tp;
        if(b % a == 0){
            tp = b / a - 1;
        }else{
            ll lcm = a / gcd(a, b) * b;
            ll x = lcm / a, y = lcm / b;
            x--;
            tp = (x + y - 1) / y;
        }
        if(tp >= k)
            cout << "REBEL" << endl;
        else
            cout << "OBEY" << endl;
    }
    return 0;
}
//标程
#include<bits/stdc++.h>
using namespace std;
typedef long long li;
li a, b, k;
inline bool read() {
	if(!(cin >> a >> b >> k))
		return false;
	return true;
}
inline void solve() {
	li g = __gcd(a, b);
	a /= g;
	b /= g;
	if(a > b)
		swap(a, b);
	if((k - 1) * a + 1 < b)
		cout << "REBEL";
	else
		cout << "OBEY";
	cout << endl;
}
int main() {
#ifdef _DEBUG
	freopen("input.txt", "r", stdin);
#endif
	int tc; cin >> tc;
	while(tc--) {
		read();
		solve();
	}
	return 0;
}
codeforces 1260C. Infinite Fence (数学or裴蜀定理)的更多相关文章
- BZOJ_1441_Min_数学+裴蜀定理
		BZOJ_1441_Min_数学+裴蜀定理 Description 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 Inpu ... 
- Codeforces #499 E Border ( 裴蜀定理 )
		题目链接 题意 : 给出 N 种纸币.并且给出面值.每种纸币的数量可以任选.问你得出来的数在 k 进制下.末尾位的数有多少种可能.输出具体方案 分析 : 纸币任意选择组成的和 可以用一个一次多项式来表 ... 
- 辗转相除法 & 裴蜀定理
		2018-03-11 17:39:22 一.辗转相除法 在数学中,辗转相除法,又称欧几里得算法(英语:Euclidean algorithm),是求最大公约数的算法.辗转相除法首次出现于欧几里得的&l ... 
- 【BZOJ-2299】向量       裴蜀定理 + 最大公约数
		2299: [HAOI2011]向量 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1118 Solved: 488[Submit][Status] ... 
- 【BZOJ-1441】Min      裴蜀定理 + 最大公约数
		1441: Min Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 471 Solved: 314[Submit][Status][Discuss] De ... 
- BZOJ-2257    瓶子和燃料     分解因数+数论方面乱搞(裴蜀定理)
		一开始真没想出解法...后来发现那么水.... 2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 970 So ... 
- 【BZOJ】1441: Min(裴蜀定理)
		http://www.lydsy.com/JudgeOnline/problem.php?id=1441 这东西竟然还有个名词叫裴蜀定理................ 裸题不说....<初等数 ... 
- BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
		2257: [Jsoi2009]瓶子和燃料 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ... 
- BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】
		2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1326 Solved: 815[Submit][Stat ... 
随机推荐
- Redis 实现美团的外卖派单系统“附近的人”筛选实战原理分析
			针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG.MySQL和MongoDB等多种DB的空间索引进行实现.而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空间搜索 ... 
- FCC---CSS Flexbox: Apply the flex-direction Property to Create Rows in the Tweet Embed
			The header and footer in the tweet embed example have child items that could be arranged as rows usi ... 
- log file switch (checkpoint incomplete) - 容易被误诊的event
			本文转自 https://blogs.oracle.com/database4cn/log-file-switch-checkpoint-incomplete-%e5%ae%b9%e6%98%93%e ... 
- javascript---简介的切换图片效果。
			<!--切换图片--> <img src="img/9.gif" alt="" id="img"> <butt ... 
- 【搬了一套别人的cf】
			自己打了一堆没保存瞬间全没了.... 没有继续写的欲望 https://www.cnblogs.com/tea-egg/p/11664350.html 
- [译]Vulkan教程(20)重建交换链
			[译]Vulkan教程(20)重建交换链 Swap chain recreation 重建交换链 Introduction 入门 The application we have now success ... 
- vue-cli3 用natapp 配置时 出现Invalid Host header的解决方案
			natapp 网址:https://natapp.cn/ 用户名:137 **** **** 密码:26**_X** natapp 配置: 出现如下错误:Invalid Host he ... 
- Python 分析到底是谁操纵《庆余年》上了热搜?
			庆余年电视剧终于在前两天上了,这两天赶紧爬取数据看一下它的表现.   庆余年  <庆余年>是作家猫腻的小说.这部从2007年就开更的作品拥有固定的书迷群体,也在文学IP价值榜上有名. ... 
- 跨域问题,解决方案-Nginx反向代理
			跨域问题,解决之道 跨域问题,在日常开发过程中,是一个非常熟悉的名词.今天的话题,结合我之前的项目场景,讨论下<跨域问题,解决之道>. 跨域是什么 跨域问题,是由于JavaScript出于 ... 
- Windows10 搭建Kafka集群
			下载Kafka 1.下载Kafka:http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz 2.解压后复制Kafka文件夹,分 ... 
