Codeforces Round #426 (Div. 1) A.The Meaningless Game (二分+数学)
题目链接:
http://codeforces.com/problemset/problem/833/A
题意:
给你 \(a\) 和 \(b\),两个人初始化为 \(1\)。两个人其中一方乘以 \(k^2\),另一方就乘以 \(k\)。问你能不能达到 \((a,b)\) 这个最终状态。
题解:
设 \(X\), \(P\) 表示两个乘积的集合。
那么,显然:
\(S^{2}*P=a\) ------ 1
\(S*P^{2}=b\) ------ 2
所以:\(a*b = S^{3}*P^3\)。
那么,\(S*P= ^{\sqrt[3]{ab}}\)
假设 \(S*P = x\).
又由公式 \(1,2\) 得:
\(S = \frac{a}{x}\)
\(P = \frac{b}{x}\)
所以,我们只需要检查 \(a*b\) 是否能完美开立方,以及 \(a,b\) 能否同时整除 \(x\)。前者直接二分就可以了。
\(cin\)会 TLE.....
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6+5;
const int mod = 1e9+7;
const ll INF =2e15;
ll cubic_root(ll x)
{
ll mid = 0;
ll low = 0 ,high = 1000100;
while(low <= high) {
mid = (low + high) >> 1;
if(mid * mid * mid > x) {
high = mid - 1;
}
else if(mid * mid * mid < x){
low = mid + 1;
}
else {
break;
}
}
return mid;
}
int main(int argc, char const *argv[]) {
int n;
//std::cin >> n;
scanf("%d", &n);
for(int i= 0;i < n; i++) {
ll a,b;
scanf("%lld%lld",&a,&b);
//std::cin >> a >> b;
ll x = cubic_root(a * b);
if(x * x * x != a * b) {
std::cout << "No" << '\n';
}
else if(a % x ==0 && b % x == 0) {
std::cout << "Yes" << '\n';
}
else std::cout << "No" << '\n';
}
return 0;
}
Codeforces Round #426 (Div. 1) A.The Meaningless Game (二分+数学)的更多相关文章
- Codeforces Round #426 (Div. 2) C. The Meaningless Game
C. The Meaningless Game 题意: 两个人刚刚开始游戏的时候的分数, 都是一分, 然后随机一个人的分数扩大k倍,另一个扩大k的平方倍, 问给你一组最后得分,问能不能通过游戏得到这样 ...
- 【筛法求素数】Codeforces Round #426 (Div. 1) A. The Meaningless Game
先筛出来1000以内的素数. 枚举x^(1/3) 和 y^(1/3)以内的素因子,这样除完以后对于x和y剩下的因子,小的那个的平方必须等于大的. 然后判断每个素因数的次数之和是否为3的倍数,并且小的那 ...
- Codeforces Round #127 (Div. 1) E. Thoroughly Bureaucratic Organization 二分 数学
E. Thoroughly Bureaucratic Organization 题目连接: http://www.codeforces.com/contest/201/problem/E Descri ...
- Codeforces Round #275 (Div. 2) B. Friends and Presents 二分+数学
8493833 2014-10-31 08:41:26 njczy2010 B - Friends and Presents G ...
- CodeForces 834C - The Meaningless Game | Codeforces Round #426 (Div. 2)
/* CodeForces 834C - The Meaningless Game [ 分析,数学 ] | Codeforces Round #426 (Div. 2) 题意: 一对数字 a,b 能不 ...
- Codeforces Round #365 (Div. 2) C - Chris and Road 二分找切点
// Codeforces Round #365 (Div. 2) // C - Chris and Road 二分找切点 // 题意:给你一个凸边行,凸边行有个初始的速度往左走,人有最大速度,可以停 ...
- 【Codeforces Round #426 (Div. 2) C】The Meaningless Game
[Link]:http://codeforces.com/contest/834/problem/C [Description] 有一个两人游戏游戏; 游戏包括多轮,每一轮都有一个数字k,赢的人把自己 ...
- 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 ...
- Codeforces Round #426 (Div. 2)
http://codeforces.com/contest/834 A. The Useless Toy 题意: <,>,^,v这4个箭头符号,每一个都可以通过其他及其本身逆时针或者顺时针 ...
随机推荐
- lunix 安装使用mongo
一.下载安装mongo版本客户端 1.进入mongo官网选择需要的版本号: https://www.mongodb.com/download-center/community(官网网址) 2.选择下载 ...
- 洛谷 P1885 Moo
P1885 Moo 题目描述 奶牛Bessie最近在学习字符串操作,它用如下的规则逐一的构造出新的字符串: S(0) = “moo” S(1) = S(0) + “m”+ “ooo” + S(0) = ...
- 算法题:给你一个自然数N,求[6, N]之内的全部素数中, 两两之和为偶数的那些偶数。
/* 算法题:给你一个自然数N,求[6, N]之内的全部素数中. 两两之和为偶数的那些偶数. */ #include <iostream> using namespace std; voi ...
- webgoat7.1开发版环境搭建
环境准备:git mavenjdktomcat然后进入正文:下载webgoat门户cd ~/webgoatgit clone https://github.com/WebGoat/WebGoat.gi ...
- 26.使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面
转自:https://blog.csdn.net/yuxxz/article/details/51318908 使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及 ...
- A股借壳上市?暂时没戏
近期股市波动,让不少P2P概念股打回原型.同花顺数据显示,上周五P2P概念股整体下跌9.28%,其中除了5家上市公司停牌外,14家P2P概念股跌幅都超过了9%.此前大热的多伦股份自6月23日以来,股价 ...
- ES6--基础语法(一)
一.支持环境:node.js完全支持,标准浏览器完全支持.二.测试环境: chrome下需要在script标签的最先开始的地方需要添加"use strict". firefox下需 ...
- 最简单的基于FFmpeg的移动端例子:Android 视频转码器
http://blog.csdn.net/leixiaohua1020/article/details/47056365
- Xcode 6 打包ipa文件
随着Xcode6.1的普遍应用.随之而来的非常多问题就会出现.这里来说一下怎样在Xcode6.1上生成Ad-hoc ipa.首先是要在你的开发人员账号上生成一个.ipa的主要应用就是在你公布到AppS ...
- 妙味css3课程---1-2、css3中新增的伪类和伪元素有哪些
妙味css3课程---1-2.css3中新增的伪类和伪元素有哪些 一.总结 一句话总结: 1.div:target{}是什么意思? 比如a标签的锚点链接到div,div:target{}就可以找到这个 ...