万恶的2017 ACM/ICPC Asia Regional Qingdao Online 1011 A Cubic number and A Cubic Number
来源:互联网 发布:如何让win7网络更流畅 编辑:程序博客网 时间:2024/06/07 09:57
题目链接:A Cubic number and A Cubic Number
题意:我总结为a^3 - b ^ 3 = p(a,b都是正整数,但a≠b),题目问给出一个质数p(p <= 10^12),如果p满足式子,输出“YES”,否则,输出“NO”。
思路:(a ^ 3 - b ^ 3) = (a - b)*(a^2 + a*b + b^2) = p
由于p是质数,所有p的因子只有1和p。上述式子只有两种情况:(a - b) = 1 && (a^2 + a*b + b^2) = p 或者 (a - b) = p && (a^2 + a*b + b^2) = 1。先看第一种情况,(a^2 + a*b + b^2) = (a^2 - 2*a*b + b^2 + 3*a*b) = (a-b)^2 + 3*a*b = p,∵(a - b) = 1,∴1 + 3*a*b = 1 + 3*b*(1+b) = p。
分析p <= 1e12,∴b <= 1e6,对b从1~1e6先for循环一遍把所有能的p存到数组中,再二分查找,题目解决。至于第二种情况,同样的方法把a换b得到方程,但会发现b没解,你会发现第二种情况是不可能的。
PS:为啥说这个题万恶,因为这个题是在已经过了800个队,比赛进行到了3个多小时的时候才做出来的,队友和我当时心态都蹦了,最后今年的青岛赛区还没申请到名额…今年必须打一场regional的,这么菜,怎么办。。。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cmath>#include<map>#include<set>#include<cstdlib>#define mem(a,b) memset(a,b,sizeof(a))#define INF 0x7ffffffftypedef long long ll;using namespace std;const int maxn = 1e6+10;ll arr[maxn];int main(){ int cnt = 0; int T; ll n; for(ll i = 1; i <= 1000000; i++){ arr[cnt++] = 3*i*(i+1)+1; } scanf("%d",&T); while(T--){ scanf("%lld",&n); int ind = lower_bound(arr,arr+cnt,n) - arr; if(arr[ind] == n){ puts("YES"); }else{ puts("NO"); } } return 0;}
阅读全文
0 0
- 万恶的2017 ACM/ICPC Asia Regional Qingdao Online 1011 A Cubic number and A Cubic Number
- 2017 ACM/ICPC Asia Regional Qingdao Online:1011 A Cubic number and A Cubic Number
- HDU-2017 ACM/ICPC Asia Regional Qingdao Online-1011-A Cubic number and A Cubic Number
- hdu 6216 A Cubic number and A Cubic Number (2017 ACM/ICPC Asia Regional Qingdao Online)
- 【2017 ACM/ICPC Asia Regional Qingdao Online 1011】hdu 6216 A Cubic number and A Cubic Number
- HDU6216 A Cubic number and A Cubic Number 找规律 2017 ACM/ICPC Asia Regional Qingdao Online
- HDU 6216 A Cubic number and A Cubic Number 公式/打表 [2017 ACM/ICPC Asia Regional Qingdao Online]
- A Cubic number and A Cubic Number---ACM青岛Regional
- A Cubic number and A Cubic Number
- A Cubic number and A Cubic Number
- **A Cubic number and A Cubic Number**
- A Cubic number and A Cubic Number
- A Cubic number and A Cubic Number
- A Cubic number and A Cubic Number
- ICPC 青岛赛区 网络赛 1011 :A Cubic number and A Cubic Number<数学>
- 2017 icpc 青岛赛区 1011.A Cubic number and A Cubic Number
- 1011 A Cubic number and A Cubic Number
- 2017年ACM青岛站网络赛--A Cubic number and A Cubic Number
- HTML5 新增标签
- java实现各种排序算法
- 对象的构造与析构(2) 构造函数规则
- springMVC配置文件
- Jq中的遍历
- 万恶的2017 ACM/ICPC Asia Regional Qingdao Online 1011 A Cubic number and A Cubic Number
- python︱大规模数据存储与读取、并行计算:Dask库简述
- Js实现百度搜索框提示功能(利用百度接口)
- uboot2013-10移植(一)--Makefile注释
- 对象的生存周期对比
- TCP/IP包结构
- 散列表(上)——开放定址法
- 被@Autowired的对象不能再new
- ArrayList、LinkedList和Vector的异同点