TopCoder SRM 668 Div2 Problem 1000 - AnArray (数学)
来源:互联网 发布:51testing 软件测试 编辑:程序博客网 时间:2024/05/18 00:17
题意
求
思路
根据代码YY出来的,如有不对请路过的巨巨指出
如果
然后我们可以去枚举两个数,统计第三个数。
找完之后分解一下当前的数即可。
代码
class AnArray {public: int cnt[MAXN]; int solveProblem(vector<int> A, int K) { LL ans = 0; MS(cnt, 0); for (int i = 0; i < SZ(A); i++) A[i] = __gcd(A[i], K); for (int i = 0; i < SZ(A); i++) { for (int j = i+1; j < SZ(A); j++) { int g = __gcd((LL)A[i]*A[j], (LL)K); ans += cnt[K/g]; } for (int j = 1; j*j <= A[i]; j++) if (A[i] % j == 0) { cnt[j]++; if (j*j != A[i]) cnt[A[i]/j]++; } } return ans; }};
0 0
- TopCoder SRM 668 Div2 Problem 1000 - AnArray (数学)
- TopCoder SRM 657 Div2 Problem 1000 - PolynomialRemainder(数学)
- TopCoder SRM 634 Div2 Problem 1000 - SpecialStrings
- TopCoder SRM 648 Div2 Problem 1000 - ABC (DP)
- TopCoder SRM 649 Div2 Problem 1000 - XorSequenceEasy (思维)
- TopCoder SRM 652 Div2 Problem 1000 - NoRightTurnDiv2 (几何 + 贪心)
- TopCoder SRM 660 Div2 Problem 1000 - Powerit (数论)
- TopCoder SRM 663 Div2 Problem 1000 - CheeseRolling (状压dp)
- TopCoder SRM 672 Div2 Problem 1000 - Tdetectived2 (状压dp)
- TopCoder SRM 633 Div2 Problem 500 - Jumping
- TopCoder SRM 634 Div2 Problem 500 - ShoppingSurvey
- Topcoder SRM 663 Div2 Problem 500
- Topcoder SRM 635 div2 1000
- Topcoder SRM 636 div2 1000
- SRM 668 DIV 2 AnArray 1000-point
- Topcoder SRM 640 Div2 1000(巧妙数学题)
- Topcoder SRM 517 DIV2 1000 CuttingGrass
- Topcoder SRM 566 DIV2 1000 FencingPenguinsEasy
- 致敬逸凡,致敬我的团队我的家
- java中break以及continue
- 黑马程序员——GUI(图形用户界面)中的AWT
- Ubuntu中安装配置jdk1.8
- openstack从零开始(0)——概述
- TopCoder SRM 668 Div2 Problem 1000 - AnArray (数学)
- 使用GetProcAddress获取C++重载函数
- 2015 ACM/ICPC Asia Regional Shenyang Online
- 删除链表中某结点
- 技术人生:故事之三十三你做过经理吗?
- OC-集合2(字典,NSSet)
- 管道的应用(pipe)《深入分析Linux内核源码》 http://blog.csdn.net/wangpengqi/article/details/7996182
- 如何解决C/C++中stack overflow问题
- python字符串