一生之敌-2017浙江中医药大学程序设计
2017-12-22 09:08
302 查看
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
大家都知道Alice和Bob两个人是一生之敌。(雾
但某天,他们两个人发了疯。想知道他们两个是否可以成为朋友。
于是他们做了一个令人窒息的决定。
Alice和Bob每个人任意选一个整数。
假设Alice选择了整数a,Bob选择了整数b。
Alice使得a做如下变换:
a -> 2 * a * (a+1)^2
Bob使得b做如下变换:
b -> b^2
如果变换后的数字相等,则两个人可以化敌为友。
如果不相等,这两个人怕是石乐志。
现在,你想把Bob部分可能的整数b(存在a变换后的数字等于b变换后的数字)从小到大排列后,知道第一个大于等于n的数字是多少。
示例1
这道题当时读了很久,一直搞不懂样例是怎么出来,还是做的题少,没有语感,中文题目都这样了,何况英文题;
读懂题意之后,一看数据范围就知道是二分查找,只需要把a和b做一下变换即可:
b^2 = 2*a*(a+1)^2 -> b = sqrt(2*a)*(a+1);
因为sqrt(2*a)是整数,所以令2*a=4*t*t,所以a=2*t*t;
所以就转换成b=2*t*(2*t*t + 1),所以只需二分
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
大家都知道Alice和Bob两个人是一生之敌。(雾 但某天,他们两个人发了疯。想知道他们两个是否可以成为朋友。
于是他们做了一个令人窒息的决定。
Alice和Bob每个人任意选一个整数。
假设Alice选择了整数a,Bob选择了整数b。
Alice使得a做如下变换:
a -> 2 * a * (a+1)^2
Bob使得b做如下变换:
b -> b^2
如果变换后的数字相等,则两个人可以化敌为友。
如果不相等,这两个人怕是石乐志。
现在,你想把Bob部分可能的整数b(存在a变换后的数字等于b变换后的数字)从小到大排列后,知道第一个大于等于n的数字是多少。
输入描述:
第一行输入一个整数T,表示数据组数。 每组数据输入一个整数n。 1 <= T <= 100000 0 <= n <= 10^19 保证结果存在
输出描述:
输出一个整数。
示例1
输入
3 2 6 100
输出
6 6 114
这道题当时读了很久,一直搞不懂样例是怎么出来,还是做的题少,没有语感,中文题目都这样了,何况英文题;
读懂题意之后,一看数据范围就知道是二分查找,只需要把a和b做一下变换即可:
b^2 = 2*a*(a+1)^2 -> b = sqrt(2*a)*(a+1);
因为sqrt(2*a)是整数,所以令2*a=4*t*t,所以a=2*t*t;
所以就转换成b=2*t*(2*t*t + 1),所以只需二分
#include <stdio.h> #include <iostream> using namespace std; #define MAX 3e6 typedef unsigned long long ULL; int main() { int T; cin>>T; while(T--) { ULL n; scanf("%llu",&n); if(n == 0) { printf("0\n"); continue; } ULL l = 0, r = MAX, m, t, ans; while(l <= r) { m = l+(r-l)/2; t = 4*m*m*m + 2*m; if(t >= n) { ans = t; r = m - 1; } else { l = m + 1; } } printf("%llu\n",ans); } return 0; }
相关文章推荐
- 2017年浙江中医药大学大学生程序设计竞赛(重现赛)B - 一生之敌
- 【2017年浙江中医药大学大学生程序设计竞赛】B一生之敌 【二分+精度】
- 寻找zcmu-2017浙江中医药大学程序设计
- 2017年浙江中医药大学大学生程序设计竞赛 - B 一生之敌 (二分)
- 2017“久源软件杯”安徽科技学院第八届程序设计大赛 - 题解
- 【2017"百度之星"程序设计大赛 - 初赛(B)】小小粉丝度度熊
- 2017第七届吉首大学“新星杯”程序设计大赛(暨新生网络同步赛)
- 6:数字统计( 程序设计与算法(一)第四周测验(2017夏季)
- 2017-2018-1 20155209 20155230 实验二 固件程序设计
- 2017广东工业大学程序设计竞赛决赛E 倒水(二进制)
- 2017广东工业大学程序设计竞赛决赛 Problem B: 占点游戏(博弈)
- 2017广东工业大学程序设计竞赛决赛 Problem E: 倒水(Water)(思维)
- 2017广东工业大学程序设计竞赛决赛 Problem H: tmk买礼物(数论)
- 2017广东工业大学程序设计竞赛决赛 Problem H: tmk买礼物
- 2017广东工业大学程序设计竞赛决赛-Problem H: tmk买礼物
- 2017上海市高校程序设计邀请赛_C
- 2017上海市高校程序设计邀请赛_G
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)3:点和正方形的关系
- 2017广东工业大学程序设计竞赛决赛C.Collection Game(dp)
- 2017年浙江中医药大学大学生程序设计竞赛(重现赛)A - 不存在的树