Educational Codeforces Round 77
时间:2020-01-09
本文章向大家介绍 Educational Codeforces Round 77 ,主要包括 Educational Codeforces Round 77 使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Educational Codeforces Round 77
C.Infinite Fence
题意:现有 $ 10^{100}$ 块木板需要涂漆,第 \(x\) 块如果 \(x\) 是 \(r\) 的倍数,则涂上红色,是 \(b\) 的倍数,则涂蓝色。如果既是 \(r\) 又是 \(b\) 的倍数,那么两种颜色都可以涂;如果连续有 \(k\) 块板的颜色是一样的,则输出REBEL,否则输出OBEY。问是否能避免被处死.
分析:
若规定 \(r<b\) ,一开始就很简单的以为只要 \(b \ge k \times r\) 就可以。主要是错误地理解所有间隔都是固定的,等于开头的间隔,其实间隔是会变化的。
对于这种有一定数学规律的题,不要一直去想具体的例子。
抽象出 \(nb........(n+1)b\) 的一段,为满足题意,它们中间 \(b-1\) 的距离最多只能放 \(k-1\) 个红色木板。故设第k个红木板相对 \(nb\) 的距离为 \(d_{k}\)
\[ d_{k}>b-1 \\ \ \\ t+(k-1) \times r >b-1\\ \ \\k>\frac{(b-1)-t}{r}+1 \]
所以只要满足(3)式就输出OBEY
。求t:t是第一个红木板相对 \(nb\) 的距离。有如下关系
\[ n_{1}b+t=n_{2}r \]
当t最小时,\(d_{k}\) 也最小,是最坏的情况。根据exgcd,当 \(gcd(r,b) | t\) 时有解,t最小值为 \(gcd(r,b)\)代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int MA=1e5+5; int main() { int T; scanf("%d",&T); while(T--){ ll r,b,k; scanf("%lld%lld%lld",&r,&b,&k); if(r>b) swap(r,b); ll g=__gcd(r,b); ll ans=((b-1)-g)/r+1; if(k<=ans) printf("REBEL\n"); else printf("OBEY\n"); } return 0; }
原文地址:https://www.cnblogs.com/A-sc/p/12172501.html
- Android Studio环境下搭建ReactNative
- Android实现两个ScrollView互相联动,同步滚动的效果
- 一个可以拖动的自定义Gridview代码
- android图片加载库Glide
- 密码最短长度为7,其中必须包含以下非字母数字字符1 完美解决方案
- android开发性能分析
- url带中文参数显示乱码的问题
- 转换程序的一些问题:设置为 OFF 时,不能为表 'Test' 中的标识列插入显式值。8cad0260
- JQuery 对控件的事件操作
- 流畅地HtmlHelper-Asp.Net MVC
- 用Sql生成数据插入Sql脚本
- 利用反射自己写的一个ModelHelper类
- 一个让人遗忘的角落--Exception(一)
- 一个让人遗忘的角落—Exception(二)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Vulnhub之DC-2过关记录
- 关于链表,你该了解这些!
- R语言可视化操作数据挖掘
- 因为一个函数strtok踩坑,我被老工程师无情嘲笑了(一)
- 【日志架构】ELK Stack + Kafka 端到端练习
- 极客算法训练笔记(三),链表详细图解,别再逃避了朋友
- 我就感觉到快 —— zsh 和 oh my zsh 冷启动速度优化
- equals和HashCode深入理解(转)
- LeetCode18|排序链表
- LeetCode17|删除链表的节点
- LeetCode16|两数相加
- 12-2 提示符添加颜色及光标移动
- Redux入门实战——todo-list2.0实现
- 29.Python的集合
- 性能分析(4)- iowait 使用率过高案例