Codeforces 484B Maximum Value(高效+二分)
题目链接:Codeforces 484B Maximum Value
题目大意:给定一个序列,找到连个数ai和aj,ai%aj尽量大,而且ai≥aj
解题思路:类似于素数筛选法的方式,每次枚举aj,然后枚举k,每次用二分找到小于k∗aj而且最大的ai,维护答案,过程中加了一些剪枝。
#include <cstdio>
#include <cstring>
#include <algorithm>using namespace std;
const int maxn = 1e6+5;int N, a[maxn];int solve (int x) {int ret = 0, p = x;while (p < maxn) {p += x;int k = lower_bound(a, a + N, p) - a;if (k == 0) continue;else k--;if (a[k] <= x) continue;ret = max(ret, a[k] % x);}return ret;
}int main () {scanf("%d", &N);for (int i = 0; i < N; i++)scanf("%d", &a[i]);sort(a, a + N);int ans = 0;for (int i = N-1; i >= 0; i--) {if (ans >= a[i] - 1)break;if (i < N - 1 && a[i] == a[i+1])continue;ans = max(ans, solve(a[i]));}printf("%d\n", ans);return 0;
}
转载于:https://www.cnblogs.com/mengfanrong/p/4325563.html
Codeforces 484B Maximum Value(高效+二分)相关推荐
- CodeForces 484B Maximum Value
意甲冠军: a序列n(2*10^5)数字 问道a[i]>=a[j]如果是 a[i]%a[j]最大值是多少 思路: 感觉是一道挺乱来的题-- 我们能够将ans表示为a[i]-k*a[j] 这 ...
- 【CodeForces 332B --- Maximum Absurdity】递推
[CodeForces 332B --- Maximum Absurdity]递推 题目来源:点击进入[CodeForces 332B - Maximum Absurdity] Description ...
- [CodeForces 332B]Maximum Absurdity[DP]
题目链接: [CodeForces 332B]Maximum Absurdity[DP] 题意分析: 寻找两个不重叠的长度为k的子串,使得它们之和最大. 解题思路: 第一想法是,处理出从这个点开始,长 ...
- [codeforces 508E]Maximum Matching
题目:Maximum Matching 传送门:http://codeforces.com/contest/1038/problem/E 分析: 一个块拥有{color1,val,color2},两个 ...
- Educational Codeforces Round 64 -C(二分)
题目链接:https://codeforces.com/contest/1156/problem/C 题意:给出n个数和整形数z,定义一对数为差>=z的数,且每个数最多和一个数组成对,求最多有多 ...
- codeforces 653D D. Delivery Bears(二分+网络流)
题目链接: D. Delivery Bears time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- CodeForces - 645C Enduring Exodus(二分)
题目链接:http://codeforces.com/problemset/problem/645/C 题意:给你n个房间, 0代表空房子, 1代表非空的房子, 一个农夫和他的k个牛要住进空房子里面, ...
- codeforces 549H Degenerate Matrix(二分)
Description The determinant of a matrix 2 × 2 is defined as follows: A matrix is called degenerate i ...
- Codeforces 359D Pair of Numbers | 二分+ST表+gcd
题面: 给一个序列,求最长的合法区间,合法被定义为这个序列的gcd=区间最小值 输出最长合法区间个数,r-l长度 接下来输出每个合法区间的左端点 题解: 由于区间gcd满足单调性,所以我们可以二分区间 ...
最新文章
- 【云栖大会】阿里云生态 开启智能“大航海时代”
- 第三章 python数据规整化
- Python-OpenCV 笔记7 -- 绘图(Draw)
- 2019-03-06-算法-进化(最接近的三数之和)
- mysql 字符串搜_mysql – 在表中搜索字符串的SQL查询?
- tensorflow离线安装指南
- php 多态实现案例
- 软银收购芯片巨头ARM 或将推动物联网应用跨越式发展
- zepto.js学习笔记02
- 解决Linux下SSH等终端乱码问题
- 很好用的返回顶部代码
- 视觉检测售价_视觉自动化检测设备多少钱一台,它是如何报价的?
- 杭州电子科技大学计算机学硕复试,杭州电子科技大学2020年研究生复试常见问题解答...
- 怎样用python做词云_一步一步教你如何用Python做词云
- 大型网站架构“三高”(高并发、高可用、高性能)
- webpack出现CssSyntaxError
- HDLBits练习(三)多路复用器,算术电路,卡诺图电路
- mysql workbench 1046,错误1046未选择数据库,如何解决?
- 基于STM32与PCA9685制作四足机器人(代码开源)
- 虚拟机配置静态IP后,已可以联网,但换了网络或者位置后无法联网
热门文章
- java命令依赖第三方jar原理_java命令执行带jar包依赖的文件执行不了
- uvalive5992(搜索)
- 交换机配置软件_如何配置远程登陆交换机?最简单的解释方式,一看就懂
- 20211231 使用windows 10代理时,快捷设置“手动设置代理”的“不使用代理”条目
- SQL Server强制使用特定索引 、并行度、锁
- 利用Struts拦截器限制上传图片的格式和大小
- kinect数据读取
- Android 编程下获得应用程序的签名
- libev源码分析---整体设计
- struts2+spring3.2简单demo