二分
DrCarl
重庆大学acm-icpc集训队队员
展开
-
UVA 1616 Caravan Robbers 【二分+贪心+枚举分母】
题目链接题意给n个互不相包含的区间,求出一个长度的最大值,使得可以在每个区间中选出这样一个长度的子区间,这些子区间互不相交。结果用分数表示分析先考虑如果给定了区间长度能不能选出这样的区间。因为题中说了区间互不包含,所以可以直接把所有区间先按左端点排序再按右端点排序,每个区间都尽量取靠近左端点的子区间。(如果没有说区间不相互包含的话,就要维护优先队列) 然后用二分可以求出这个最大长度。这个题卡精度,原创 2016-08-01 09:32:53 · 421 阅读 · 0 评论 -
POJ 3679 Median 【二分】
题目链接题意给N(N小于等于1e6)个数,求出由它们每个数的差组成的数列的中位数(若有偶数个,取左边的一个)分析1e6的数据量,直接算是O(n2)O(n^2)的数据量,肯定T。考虑用二分来枚举中位数。然后二分中的判断有不同的方法:O(nlog2n)O(nlog^2n)做法: 用两次二分。先把原来的所有数排序,排序之后,选定一个数,其后面的数与其的差就是递增的了。于是用枚举的中位数,从头到尾遍历,原创 2016-08-01 11:35:59 · 298 阅读 · 0 评论 -
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest Problem J 【二分+DP+单调队列】
题目链接题意有n个地铁站,全部成线性排列,有n-1种地铁票,第i种地铁票的价格为p_i,并且能坐i站(也就是在第k个站能够到达[k-i,k+i]中的站)。现在想从起点站坐到终点站,地铁在相邻两个站之间运行花费1s(这里原文是“get from a stop to the next one in just one minute.”有歧义,坑了好久),给出在每个站出来又进去花费的时间,并且从一个站出来又原创 2016-09-11 15:04:47 · 1003 阅读 · 0 评论 -
Codeforces 732D Exams【二分+贪心】
题目链接 binary search, greedy题意在接下来的n天要通过m门课程,给出每门课程需要复习的天数,然后给出每天能够参加哪门考试(0代表没有考试),每天可以选择复习任意一门课程,或者参加考试(前提是已经复习了应有的天数,可以不连续)或者什么都不做,求最短通过所有课程的时间分析当时做这题时贪心都想出来了,居然没想到用二分…… 贪心的思路: 对于一个固定的天数,要判断能不能在期间通过原创 2016-10-19 20:00:17 · 1010 阅读 · 0 评论 -
HDU 5726 GCD 【GCD】【ST表+二分】【线段树+暴力枚举】
题意给一串数列,求区间GCD和整个数列中与该区间GCD相等的区间数分析首先区间GCD易求,用能求RMQ的方法都可以,比如ST表、线段树。关键是如何求第二个问题,这里有两种做法: 方法一 利用GCD的性质,若固定区间左端点,增大右端点,区间GCD必然非递增。因此我们可以遍历区间左端点,用二分求出以该端点起始的区间的所有gcd的情况及其对应的区间个数,并用map记录。该过程复杂度可近似看做O(nlo原创 2017-01-17 19:35:18 · 381 阅读 · 0 评论