Gym - 101257D !Hasan 【二分 | 推公式】
2017-02-25 18:25
357 查看
题目链接:https://vjudge.net/problem/Gym-101257D
题意:总共有n台电脑,Moath找一台电脑需要x分钟,Saif找一台电脑需要y分钟,问你找n台电脑需要多少分钟
解析:在0~2*1e18里面二分答案,还有一种方法就是推公式
队长的过题姿势
题意:总共有n台电脑,Moath找一台电脑需要x分钟,Saif找一台电脑需要y分钟,问你找n台电脑需要多少分钟
解析:在0~2*1e18里面二分答案,还有一种方法就是推公式
#include <algorithm> #include <cstdio> #include <cstring> #include <iostream> #include <queue> using namespace std; const int maxn = 2*1e5+100; int a[maxn]; int main(void) { long long n,x,y; scanf("%I64d %I64d %I64d",&n,&x,&y); long long l=0,r = 2*1e18; while(l<r-1) { long long mid = (l+r)/2; long long tmp = mid/x+mid/y; if(tmp>=n) r = mid; else l = mid; } printf("%I64d\n",r); return 0; }
队长的过题姿势
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <iostream> #include <vector> #include <queue> #include <set> using namespace std; typedef long long LL; LL x,y,n; int main() { while(scanf("%I64d%I64d%I64d",&n,&x,&y)!=EOF) { LL A=(n*y)/(x+y); LL B=(n*x)/(x+y); LL m=n-A-B; LL ans=min(max((A+m)*x,B*y),max(A*x,(B+m)*y)); cout<<ans<<endl; } return 0; }
相关文章推荐
- Gym - 101257D !Hasan
- Gym - 100741F(二分匹配 矩阵斜线线与值进行匹配)
- Gym 101064 D Black Hills golden jewels 二分
- Gym 101064 D Black Hills golden jewels (二分)
- hrbust 1857 koko的能量值公式【思维+二分】好题!好题!
- GYM - 100812E World of Knights (线段树+二分)
- 【二分】NEERC15 L Landscape Improved (Codeforces GYM 100851)
- bjfuOJ 1086 一起又看流星雨(公式+二分)
- Codeforces Gym 101608 G WiFi Password(尺取/二分+ST表 )
- Gym 100883J palprime(二分判断点在凸包里)
- Codeforces Round #202 (Div. 1) A. Mafia 推公式 + 二分答案
- [Gym - 101064D Black Hills golden jewels] 二分套二分
- 【二分】NEERC15 L Landscape Improved(2015-2016 ACM-ICPC)(Codeforces GYM 100851)
- ZOJ3768Continuous Login (等差求和公式+二分)
- Gym 100712F Travelling Salesman(二分+并查集)
- [NW Pacific 2016-2017] GYM 101201J Shopping [rmq+二分]
- 算法竞赛宝典 分治算法 交叉的梯子(几何公式的推导+二分)
- GYM 101149 B.No Time for Dragons【二分+贪心】
- Gym - 101190E Expect to Wait(数形结合 , 二分, 查分)
- Gym - 101194D(二分