Gym - 101308B-二分或者暴力
2017-04-07 10:38
477 查看
给一个m,n;
n是有n种电梯,开始在0层,这种电梯只能上升a层或者下降b层,问选择哪个电梯在操作m次后(可以上可以下)最后离0层最近。电梯不能换乘。输出最近的层数;
https://vjudge.net/contest/157355#problem/B
题目
方法:想象一个数组,数组有一个标志位,标志位前面是上升,后面是下降,数组长度为m(总操作数),二分求解就行。我一开始以为是拓展gcd,因为给的范围不小。。后来发现就是一个水题,但是暴力会有wa,因为我的暴力方法错了。
上二分的代码和暴力的代码;
“`
n是有n种电梯,开始在0层,这种电梯只能上升a层或者下降b层,问选择哪个电梯在操作m次后(可以上可以下)最后离0层最近。电梯不能换乘。输出最近的层数;
https://vjudge.net/contest/157355#problem/B
题目
方法:想象一个数组,数组有一个标志位,标志位前面是上升,后面是下降,数组长度为m(总操作数),二分求解就行。我一开始以为是拓展gcd,因为给的范围不小。。后来发现就是一个水题,但是暴力会有wa,因为我的暴力方法错了。
上二分的代码和暴力的代码;
#include <bits/stdc++.h> using namespace std; //偶然想到这道题,因为同时对gcd掌握也不好,顺便看看这个到底是咋二分的 /*下面会用一点简洁的代码来完成 这个。 */ int main() { freopen("business.in","r",stdin); freopen("business.out","w",stdout); int m,n; int a,b; scanf("%d%d",&m,&n); int ans=0x3f3f3f3f; for(int i=1;i<=n;i++) { scanf("%d%d",&a,&b); int l=0; int r=m; int mid; /*想象一个区间,区间左面是l,右边是m,中间有一个标志,标志左面 是上升的,右边是下降的。 二分的判断条件是 mid*a-(b*m-mid*b); if((m+n)) */ while(l<=r) { mid=(l+r)/2; //cout<<mid<<endl; if(mid*a-b*m+mid*b>0) { r=mid-1; } else l=mid+1; } //if(l*a-b*m+l*b>0) ans=min(l*a-b*m+l*b,ans); } cout<<ans<<endl; return 0; }
#include <iostream>//暴力 #include <cstdio> #include <cstdlib> using namespace std; int main() { freopen("business.in","r",stdin); freopen("business.out","w",stdout); int m,n; int a,b; while(~scanf("%d%d",&m,&n)) { int ans=0x3f3f3f3f; for(int i=1;i<=n;i++) { scanf("%d%d",&a,&b); int x=a+b; int y=b*m; int c=y/x; if(c*(a+b)-m*b<=0) c++; ans=min(c*(a+b)-m*b,ans); } cout<<ans<<endl; } return 0; }
“`
相关文章推荐
- POJ 2452 Sticks Problem (暴力或者rmq+二分)
- Squares-暴力枚举或者二分
- Squares-暴力枚举或者二分
- NYOJ(680),摘枇杷,(暴力,或者二分搜索)
- Atcoder- Sports Festival(二分+暴力+思维+贪心)
- 暴力进阶,有序二分暴力
- Gym - 100283F Bakkar In The Army(二分)
- Gym 100886J Sockets(二分+贪心)
- 【二分】NEERC15 L Landscape Improved (Codeforces GYM 100851)
- Codeforces Round #409 (rated, Div. 2, based on VK Cup 2017 Round 2) A B C D 暴力 水 二分 几何
- UVA - 1616 Caravan Robbers 二分+暴力转换
- Gym 100531B Buffcraft (贪心+暴力+前缀和)
- Gym 101308D Database 枚举
- BZOJ 3181: [Coci2012]BROJ 【数据分治(暴力+(二分&&容斥))
- HDU 1248 寒冰王座 完全背包 || 暴力 + 二分
- csuoj X - Rectangles (公式推导或者二分)
- Codeforces Gym 100286J Javanese Cryptoanalysis 傻逼暴力
- HDU 5536 Chip Factory (暴力 或者 01Trie)
- bzoj 1199 二分暴力
- [51nod] 1267 4个数和为0 暴力+二分