Codeforces 834C - The Meaningless Game】的更多相关文章

/* CodeForces 834C - The Meaningless Game [ 分析,数学 ] | Codeforces Round #426 (Div. 2) 题意: 一对数字 a,b 能不能被表示为 a = x^2 * y , b = x * y^2 分析: 看出题意就差不多可以直接上了 a^2 = x^4 * y^2 , b = x * y^2 x^3 = a^2/b 同理 y^3 = b^2/a 随便验证一下,开三次方这个,要么预打表,要么pow() 完微调 */ #includ…
834C - The Meaningless Game 数学. 思路1:判断a•b能不能化成v3且a%v==0且b%v==0.v可以直接用pow求(或者用cbrt),也可以二分求:还可以用map映射预处理,使得所有的map[v*v*v]=v. 代码1(cbrt版,296 ms): #include<bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define ls rt<&l…
Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting. The game consists of multiple rounds. Its rules are very simple: in each round, a natural number k is chosen. Then, the one who says (or barks) it fast…
C. The Meaningless Game 题意: 两个人刚刚开始游戏的时候的分数, 都是一分, 然后随机一个人的分数扩大k倍,另一个扩大k的平方倍, 问给你一组最后得分,问能不能通过游戏得到这样一组得分.(谁扩大k倍, 谁扩大k的平方倍,是可以自由选择的, k的值只要是自然数就行了). 思路: 对输入的两个数a, b.求(a*b) 的1/3次方, 如果不能得到,就是不能得的输出“No”.否则在看开方得到的数,能不能同时被a和b整除, 如果可以就输出“Yes”,否则就是“No”. 本题因为A…
题目网址:http://codeforces.com/contest/834/problem/C 题目: C. The Meaningless Game Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting. The game consists of multiple rounds. Its rules are very simple: in each r…
C. Meaningless Operations time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Can the greatest common divisor and bitwise operations have anything in common? It is time to answer this question.…
[Link]:http://codeforces.com/contest/834/problem/C [Description] 有一个两人游戏游戏; 游戏包括多轮,每一轮都有一个数字k,赢的人把自己的分数乘上k2,输的人乘上k; 给你两个数字a,b; 问你第一个人的分数为a,第二个人的分数为b可不可能; [Solution] 考虑最后的合法结果; 必然是这种形式 S2∗P=a S∗P2=b 因为不是第一个人得k^2就是第二个人得k^2 如 k1^2*k2*k3^2 k1*k2^2*k3 上面S…
题目链接: 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\)…
先筛出来1000以内的素数. 枚举x^(1/3) 和 y^(1/3)以内的素因子,这样除完以后对于x和y剩下的因子,小的那个的平方必须等于大的. 然后判断每个素因数的次数之和是否为3的倍数,并且小的那个次数不小于大的次数的两倍. 当然这题是有O(1)的做法哒. #include<cstdio> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; bool vis[1…
[链接] 我是链接,点我呀:) [题意] 给你一个a 让你从1..a-1的范围中选择一个b 使得gcd(a^b,a&b)的值最大 [题解] 显然如果a的二进制中有0的话. 那么我们就让选择的b的二进制中对应的位置为1 剩下全为0就好 这样a的二进制全都变成1之后就是答案了(gcd的右边是0). 但是如果a的二进制里面全是1的话. 就没办法这么构造了 这里有两种情况. ①.1的个数是偶数 那么就101010这样构造 另外一个数就是010101 答案就是010101转换成十进制 ②.1的个数是奇数…