Codeforces 484B Maximum Value(排序+二分)
来源:互联网 发布:unity3d destroy怎么用 编辑:程序博客网 时间:2024/05/16 18:55
题目链接:
http://codeforces.com/problemset/problem/484/B
题意:
求a[i]%a[j] (a[i]>a[j])的余数的最大值
分析:
要求余数的最大值很明显a[i]越接近a[j]的倍数则余数越大 ,因此我们将所有的元素从大到小排序 ;
然后枚举a[j]的倍数 ,二分查找小于a[i]倍数的最大值,然后更新余数的最大值。
代码如下:
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int a[200010];inline int mymax(int a,int b){ return a > b? a: b;}inline int bin_search(int l,int r,int val)//二分查找小于val的最大值{ int mid; while(l<=r){ mid=(l+r)>>1; if(a[mid]==val) return mid-1; else if(a[mid]>val) r=mid-1; else l=mid+1; } return r;}int main(){ int n; while(~scanf("%d",&n)){ for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); int mmax = 0; for(int i=0;i<n-1;i++){ if(a[i]==0||a[i]!=a[i-1]){//剪枝。如果之前出现过了就不用查了; int tmp=a[i]+a[i]; while(tmp<=a[n-1]){ int pos=bin_search(0,n-1,tmp); mmax = mymax(mmax,a[pos]%a[i]); tmp+=a[i]; } mmax =mymax(mmax,a[n-1]%a[i]); } } printf("%d\n",mmax); } return 0;}
0 0
- Codeforces 484B Maximum Value(排序+二分)
- codeforces 484 B Maximum Value 排序+二分 + 数学
- Codeforces 484B Maximum Value(高效+二分)
- codeforces #484B# Maximum Value(二分lower_bound)
- Codeforces 484B. Maximum Value(高效二分搜索)
- CodeForces 484B Maximum Value
- Codeforces 484B Maximum Value
- 51NOD 1421 最大MOD值&&Codeforces 484 B. Maximum Value(筛法 + 二分)
- Maximum Value - CodeForces 484 B 水题
- [杂题] Codeforces #484B. Maximum Value
- cf#276-B - Maximum Value- (数学+暴力)/(二分)
- Codeforces 484B Maximum Value——思维
- Codeforces Round #276 (Div. 1) B. Maximum Value(哈兮)
- B. Maximum Value(Codeforces Round #276(div1)
- codeforces#321 B(排序+二分)
- Codeforces Round #276 (Div. 1) B. Maximum Value
- Codeforces Round #276 (Div. 1) B. Maximum Value
- Codeforces Round #276 (Div. 1) B. Maximum Value(数论)
- 程矢Axure夜话:Axure中继器(Repeater)视频教程汇总贴
- dlmalloc 2.8.6 源码详解(2)
- 1.4插入排序-表插入排序
- Failed to install HelloWorld.apk on device 'emulator-5556': EOF
- jumper longest path --pending--
- Codeforces 484B Maximum Value(排序+二分)
- UVA 10032 Tug of War
- Java小品——简单的JDBC应用实现。
- 第10周项目4 大赛奖品
- poj解题报告——2209
- 老实的工程师,是否比较容易吃亏(转载)
- NES文件利用MATLAB可视化
- 不敢娶的媳妇
- SVN cleanup失败解决办法