The Meaningless Game,算是思维吧。
题目直接链接
题意:
某游戏规则:每次选定数字k(正整数),两人初始分数为1,获胜者分数乘k2,失败者分数成k,给你两个数字,判断是否可能是本游戏的两人的得分。
分析:
为啥题意我不写判断两个数可不可以表示成a*a*b和a*b*b呢,因为这样我后面就没的写了。。。好的,那我们证明一下这两个的等价性:假设有n局游戏,每局的数字为k1。。。kn,然后A获胜的局数是
a1。。。ax,B获胜的局数是b1。。。by,那么A的分数:k(a1)*k(a1)*。。。*k(ax)*k(ax)*k(b1)*。。。*k(by),同样的,b的得分:k(a1)*。。。*k(ax)*k(b1)*k(b1)*。。。*k(by)*k(by)于是令a=k(a1)*。。。*k(ax),b=k(b1)*。。。*k(by),那么A的得分:a*a*b,B的得分a*b*b,然后再反过来证,如果AB的得分可以表示成a*a*b和a*b*b那么一定有可能,直接构造:就两局第一局分数为a,A赢,第二局分数为b,B赢。证完等价之后,我们考虑一下怎么判断能不能表示成a*a*b和a*b*b,其实我们可以直接求出a,b来。我们另A的分数是x,B的分数是y,那么gcd(x,y)=a*b*gcd(a,b)。x/gcd(x,y)=a/gcd(a,b);y/gcd(x,y)=b/gcd(a,b);令t1=gcd(a,b)*gcd(a,b)*gcd(a,b)=x/(x/gcd(x,y)*x/gcd(x,y)*y/gcd(x,y));
令t2=y/(x/gcd(x,y)*y/gcd(x,y)*y/gcd(x,y)),要满足t1=t2=k3(k为整数)即可。证明很简单,首先满足能表示成a*a*b和a*b*b一定能满足t1=t2=k3(k为整数)(这么推过来的),满足t1=t2=k3也一定满足可以表示成a*a*b和a*b*b(都把a,b找出来了,肯定没问题),那么就好办了。
还有一个小小的问题,判断三次时最好不要从1到x二分,否则可能爆long long,如果不放心区间的话,判断时也不应写mid*mid*mid,总之要注意一些爆long long的地方。
代码:
#include <cstdio>
long long G(long long a,long long b){
if(b==)
return a;
return G(b,a%b);
}
int B(long long a){
long long l=,r=a;
while(l<=r){
long long mid=(l+r)/;
if(a%mid==&&mid*mid==a/mid)
return ;
else if(mid*mid<=a/mid)
l=mid+;
else
r=mid-;
}
return ;
}
int main(){
int n;
scanf("%d",&n);
long long js1,js2;
for(int i=;i<=n;i++){
scanf("%lld%lld",&js1,&js2);
long long js=G(js1,js2);
long long a=js1/js;
long long b=js2/js;
if(js1%(a*a*b)){
printf("No\n");
continue;
}
long long jsjs=js1/(a*a*b);
if(B(jsjs))
printf("No\n");
else if(jsjs*a*b*b==js2)
printf("Yes\n");
else
printf("No\n");
}
return ;
}
The Meaningless Game,算是思维吧。的更多相关文章
- Code Forces 833 A The Meaningless Game(思维,数学)
Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...
- 重构实践——为了try-catch大兴排场
可能是我们共同的强迫症,不要说看到,就算想到太多的try-catch也很难接受. 于是,开始了一些尝试,这些尝试都算是思维的锻炼.场面的见识.经验的积累. Version1 —— 原始版本 一开始,在 ...
- C. Meaningless Operations Codeforces Global Round 1 异或与运算,思维题
C. Meaningless Operations time limit per test 1 second memory limit per test 256 megabytes input sta ...
- The Meaningless Game 思维题
题目描述 Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesti ...
- Unity3D 游戏前端开发技能树(思维导图)
如果做游戏也是一种游戏,那么这个游戏的自由度实在是太高了.(导图源文件链接:http://pan.baidu.com/s/1eSHpH5o 密码:qzl5) 最近要用思维导图软件Xmind把自己的思路 ...
- SQL到NOSQL的思维转变
NOSQL系统一般都会宣传一个特性,那就是性能好,然后为什么呢?关系型数据库发展了这么多年,各种优化工作已经做得很深了,NOSQL系统一般都是吸收关系型数据库的技术,然后,到底是什么因素束缚了关系型数 ...
- AngularJS应用开发思维之1:声明式界面
这篇博客之前承接上一篇:http://www.cnblogs.com/xuema/p/4335180.html 重写示例:模板.指令和视图 AngularJS最显著的特点是用静态的HTML文档,就可以 ...
- python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题
今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...
- Codeforces Round #426 (Div. 2)【A.枚举,B.思维,C,二分+数学】
A. The Useless Toy time limit per test:1 second memory limit per test:256 megabytes input:standard i ...
随机推荐
- (四)rsync未授权访问
01 漏洞描述 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问rsync,上传 ...
- MySQL 8.0权限认证(上)
MySQL 8.0授权认证 一.系统权限表 user 存放用户账户信息以及全局级别(所有数据库)权限,决定了来自哪些主机的哪些用户可以访问数据库实例,如果有全局权限则意味着对所有数据库都有此权 ...
- Python如何绘制可视化图?给你一段代码,你能自己做出来吗
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利 没有数据生成的图 ...
- Vim配合Shell自动上传ftp
shell代码: #!/bin/bash #网站配置 a1=('本地目录;主机;yonghuming;mima;远程目录' '本地目录;主机;user;pwd;远程目录') #选取的网站配置 web= ...
- dubbo traceId透传实现日志链路追踪(基于Filter和RpcContext实现)
一.要解决什么问题: 使用elk的过程中发现如下问题: 1.无法准确定位一个请求经过了哪些服务 2.多个请求线程的日志交替打印,不利于查看按时间顺序查看一个请求的日志. 二.期望效果 能够查看一个请求 ...
- Thread基础-创建线程的方式
Java线程创建的几种简单方式 1. extends Thread类 public class ThreadDemo extends Thread{ @Override public void run ...
- 如何一步步使用国内yum源一键安装openstack-ocata版本基于centos7
写在前面的话,在网上看了一个国外的一键安装视频,我也照着做,结果出现很多错误,现在把坑解决了,照着做肯定能安装成功的 环境 virtualhost 下的centos7 配置 双网卡 一个10网段,na ...
- 使用redis实现nodejs并发服务
const redisClient = require('redis').createClient(6379, '127.0.0.1'); const crypto = require('crypto ...
- 一文入门Kafka,必知必会的概念通通搞定
Kakfa在大数据消息引擎领域,绝对是没有争议的国民老公. 这是kafka系列的第一篇文章.预计共出20篇系列文章,全部原创,从0到1,跟你一起死磕kafka. 本文盘点了 Kafka 的各种术语并且 ...
- 一个简单的Shell脚本(解决windows上文本在macos上乱码问题)
之所以有这一篇文章,是因为之前我写过的一篇文章:“解决Mac上打开txt文件乱码问题”:传送门: https://www.cnblogs.com/chester-cs/p/11784079.html ...