题目描述

你有 1020 个格子,它们从 0 开始编号,初始时所有格子都还未染色,现在你按如下规则对它们染色:

  1. 编号是 p1 倍数的格子(包括 0号格子,下同)染成红色。
  2. 编号是 p2 倍数的格子染成蓝色。
  3. 编号既是 p1 倍数又是 p2 倍数的格子,你可以选择染成红色或者蓝色。

其中 p1 和 p2 是给定的整数,若格子编号是 p1 或 p2 的倍数则它必须要被染色。在忽略掉所有未染色格子后,你不希望存在 k个连续的格子颜色相同,因为你认为这种染色方案是无聊的。现在给定 p1, p2, k,你想知道是否有一种染色方案不是无聊的。

输入格式

本题包含多组数据。

第一行一个整数 T表示数据组数。

每组数据一行三个正整数p1, p2, k,变量意义见题目描述。

输出格式

对于每组数据,输出一行一个字符串,若存在一种染色方案不是无聊的,则输出 YES,否则输出 NO

选手程序输出结果与样例或题面中的一种格式相符即可,即不区分大小写。例如,如果标准答案为 YES ,则输出结果 YES/Yes/yes 都视为正确。

输入输出样例

输入 #1

4
2 10 4
2 3 6
1 4 7
1 1 2

输出 #1

No
Yes
Yes
Yes

输入 #2

8
370359350 416913505 3
761592061 153246036 6
262185277 924417743 5
668232501 586472717 2
891054824 169842323 6
629603359 397927152 2
2614104 175031972 68
924509243 421614240 4

输出 #2

Yes
Yes
Yes
No
No
No
Yes
Yes

说明/提示

测试点编号 p1, p2≤ k≤ T≤
1 ∼ 3 15 1515 3375
4 ∼ 6 10^3 10^3 10^4
7 ∼ 8 10^3 10^3 10
9 ∼ 10 10^5 10^3 10^3
11 ∼ 12 10^5 5*10^5 10
13 ∼ 14 10^5 5*10^5 10^5
15 10^9 10^9 10
16∼ 20 10^9 10^9 10^6

对于所有测试点1≤T≤106,1≤p1,p2,k≤109

分析

我们设p1、p2互质,且p1<p2

那么最坏的情况就是在[k\(\times\)p2+1,(k+1)\(\times\)p2-1]之间枚举p1的倍数

区间长度=p2-2,我们只要将\(\frac{p2-2}{p1}\)+1的值与k比较就可以了

需要注意两个细节

1、k=1时要特判,直接输出No

2、p1、p2有可能不互质,要除以它们的最大公因数

代码

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
typedef long long ll;
ll gcd(ll aa,ll bb){
if(bb==0) return aa;
return gcd(bb,aa%bb);
}
int main(){
int t;
scanf("%d",&t);
while(t--){
ll aa,bb,k;
scanf("%lld%lld%lld",&aa,&bb,&k);
ll gys=gcd(aa,bb);
aa/=gys,bb/=gys;
if(aa>bb) swap(aa,bb);
if(k==1){
printf("No\n");
continue;
}
if(bb>2 && (bb-2)/aa+1>=k) printf("No\n");
else printf("Yes\n");
}
return 0;
}

[NOI Online #2 提高组]涂色游戏 题解的更多相关文章

  1. luogu P6570 [NOI Online #3 提高组]优秀子序列 二进制 dp

    LINK:P6570 [NOI Online #3 提高组]优秀子序列 Online 2的T3 容易很多 不过出于某种原因(时间不太够 浪了 导致我连暴力的正解都没写. 容易想到 f[i][j]表示前 ...

  2. [NOI Online 2021 提高组] 积木小赛

    思路不说了. 想起来自己打比赛的时候,没睡好.随便写了个\(HASH\),模数开小一半分都没有. 然后学了\(SAM\),发现这个判重不就是个水题. \(SAM\)是字串tire的集合体. 随便\(d ...

  3. [DP]Luogu 2014NOIP提高组 飞扬的小鸟题解

    2014NOIP提高组飞扬的小鸟题解 题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一 ...

  4. NOIP提高组2004 合并果子题解

    NOIP提高组2004 合并果子题解 描述:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消 ...

  5. hdu 4559 涂色游戏(SG)

    在一个2*N的格子上,Alice和Bob又开始了新游戏之旅. 这些格子中的一些已经被涂过色,Alice和Bob轮流在这些格子里进行涂色操作,使用两种涂色工具,第一种可以涂色任意一个格子,第二种可以涂色 ...

  6. NOIp十连测 涂色游戏

    [问题描述]小A 和小B 在做游戏.他们找到了一个n 行m 列呈网格状的画板.小A 拿出了p 支不同颜色的画笔,开始在上面涂色.看到小A 涂好的画板,小B 觉得颜色太单调了,于是把画板擦干净,希望涂上 ...

  7. [CSP-S模拟测试]:涂色游戏(DP+组合数+矩阵快速幂)

    题目描述 小$A$和小$B$在做游戏.他们找到了一个$n$行$m$列呈网格状的画板.小$A$拿出了$p$支不同颜色的画笔,开始在上面涂色.看到小$A$涂好的画板,小$B$觉得颜色太单调了,于是把画板擦 ...

  8. 洛谷P1312 [NOIP2011提高组Day1T3]Mayan游戏

    Mayan游戏 题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游 ...

  9. 洛谷P1080 [NOIP2012提高组D1T2]国王游戏 [2017年5月计划 清北学堂51精英班Day1]

    P1080 国王游戏 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右 手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排 ...

随机推荐

  1. Hadoop之hadoop fs和hdfs dfs、hdfs fs三者区别

      适用范围 案例 备注 小记 hadoop fs 使用范围最广,对象:可任何对象       hadoop dfs 只HDFS文件系统相关       hdfs fs 只HDFS文件系统相关(包括与 ...

  2. Cobbler自动化部署系统

    1.cobbler简介 ​ cobbler是一个LInux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等 ​ cobbler可以 ...

  3. yaml读取封装

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ 对yaml格式的配置文件的操作 """ ...

  4. C#基础——IO

    最近一直忙着做项目,偶尔会碰到一些文件读写方面的需求,当我回忆读写的代码时,发现脑子里存在诸多空白.这是不妙的,于是连忙翻出以前记下的笔记,上面还存在着我当初写下的知识点.怕以后哪天笔记找不到了或者有 ...

  5. 一文带你了解Redis持久化完整版本

    本文讲解知识点 持久化的简介 RDB AOF RDB与AOF的区别 持久化应用场景 对于持久化这个功能点,其实很简单没有那么复杂 演示环境 centos7.0 redis4.0 redis存放目录:/ ...

  6. JVM对算术运算做了什么??

    java可以进行数字的加减乘除,但是JVM的运算步骤是什么样子呢?从一个神奇的式子入手,研究下JVM到底做了什么? 先看下图:

  7. 从零开始学习Prometheus监控报警系统

    Prometheus简介 Prometheus是一个开源的监控报警系统,它最初由SoundCloud开发. 2016年,Prometheus被纳入了由谷歌发起的Linux基金会旗下的云原生基金会( C ...

  8. 详述@Responsebody和HTTP异步请求的关系

    Map.ModelAndView.User.List等对象都可以作为返回值.上述这两种对象都可以使用此注解.使用此注解即表示是在同一次请求的响应体里返回.浏览器以异步http的方式来接收.比如后端的M ...

  9. java常用的格式化

    日常工作中,总会遇到一些格式化显示的需求,下面做一些简单的整理 JDK中java.text下提供了格式化常用的工具类,具体结构见下图 时间日期格式化 DateFormat 采用DateFormat.g ...

  10. 06.DBUnit实际运用

    在上面的代码中 package com.fjnu.service; import java.io.FileWriter; import java.sql.SQLException; import st ...