ZCMUOJ2014: 一生之敌 2017浙江中医药校赛(usigned long long )
2017-12-18 20:20
281 查看
点击打开链接
解析:
因为a,b都是整数,所以最后可以将满足条件的b化简成
b=2*k*(2*k*k+1) k=1,2,3,.....
因为n最大可以到10^19次方
所以要用usigned long long(0-2^128-1)
最后直接用一个STL库里面的函数来二分查找满足条件的值点击打开链接
ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。
ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于值val的位置。
这题也有用大数模板加分块过的。。。但本人没有试过。。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef unsigned long long ull;
const int MAXN = 1400000 + 100;
const ull INF = 1000000000000000000;
ull ans[MAXN];
int main()
{
int t;
scanf("%d",&t);
ull n;
ull i;
for(i=1;i<MAXN;i++)
{
ans[i]=2*i*(2*i*i+1);
//printf("%llu\n",ans[i]);
//if(ans[i]>INF) break;
}
while(t--)
{
scanf("%llu",&n);
int kk=lower_bound(ans,ans+MAXN,n)-ans;
printf("%llu\n",ans[kk]);
}
return 0;
}
解析:
因为a,b都是整数,所以最后可以将满足条件的b化简成
b=2*k*(2*k*k+1) k=1,2,3,.....
因为n最大可以到10^19次方
所以要用usigned long long(0-2^128-1)
最后直接用一个STL库里面的函数来二分查找满足条件的值点击打开链接
ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。
ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于值val的位置。
这题也有用大数模板加分块过的。。。但本人没有试过。。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef unsigned long long ull;
const int MAXN = 1400000 + 100;
const ull INF = 1000000000000000000;
ull ans[MAXN];
int main()
{
int t;
scanf("%d",&t);
ull n;
ull i;
for(i=1;i<MAXN;i++)
{
ans[i]=2*i*(2*i*i+1);
//printf("%llu\n",ans[i]);
//if(ans[i]>INF) break;
}
while(t--)
{
scanf("%llu",&n);
int kk=lower_bound(ans,ans+MAXN,n)-ans;
printf("%llu\n",ans[kk]);
}
return 0;
}
相关文章推荐
- NKOJ 4340 (SCOI 2014)方伯伯的OJ (Splay+map+set)
- 2014湘潭邀请赛 C题 湘大OJ 1205 Range (单调栈)
- OJ2012题、2013题、2014题、2015题、2016题
- bzoj3595: [Scoi2014]方伯伯的Oj【splay+map】
- 浙江中医药大学 2014 B题 一生之敌(数学,打表)
- HPUOJ---2017寒假作业--专题0/J-悼念512汶川大地震遇难同胞——老人是真饿了
- 目标检测CNN系列学习资料汇总(2014-2017)
- 【杭电oj】2014 - 青年歌手大奖赛_评委会打分(无首行n的多数据,sort快排)
- 2014秋C++第12周项目2参考-OJ平台题目中多种输入形式的处理
- 2014秋C++第13周OJ题目参考
- 洛谷 P3773 [CTSC2017]吉夫特(bzoj P4903 [CTSC2017]吉夫特/uoj P300【CTSC2017】吉夫特)
- 省选专练[SCOI2014]方伯伯的OJ
- BZOJ3595 : [Scoi2014]方伯伯的Oj
- UOJ #356. 【JOI2017春季合宿】Port Facility
- 2017-12-10杭电OJ2013《蟠桃记》
- 一生之敌-2017浙江中医药大学程序设计
- MyEclipse 2017 Ci 1 用hibernate5.0连接SQL Server 2014
- 深度学习——引用量最高的20篇论文(2014-2017)
- HPUOJ---2017寒假作业--专题-1/L-Raising Modulo Numbers(提高模数)
- SCOI2014 方伯伯的OJ onlinejudge