二分 + 三分
文章平均质量分 71
binary or trinary search
tzteyang
这个作者很懒,什么都没留下…
展开
-
Codeforces 707(Div2) D - Two chandeliers (二分 + 拓展中国剩余定理)
题意:很长一大串的题意,可以化简为给定你两个序列,每个序列中都不会有重复的数,然后这两个序列都可以分别看做是可无限延伸循环的,然后给定你一个数字kkk,iii从111开始,问你iii到达多少后,前iii对ai,bia_i,b_iai,bi中,有kkk个位置ai≠bia_i \neq b_iai=bi。很明显影响iii因素是有多个位置他们的ai=bia_i = b_iai=bi,假如对于一个值valvalval,它在aaa中位置是xxx,在bbb中的位置时yyy,那么也就是找到一个最小的.原创 2021-03-15 14:31:14 · 492 阅读 · 0 评论 -
2020南京站 F-Fireworks 三分 (抽象为独立重复实验 用期望公式)
题意:花费n的时间制作一个烟花,然后每个烟花点然后完美的概率就是p*0.0001,然后每当你完成了一个烟花的制作后,你就可以选择是继续花费n的时间再制作一个烟花还是花费m的时间把之前所有制作的烟花点燃。然后只要在某次的燃放中,有至少一个烟花完美了,那么就可以结束制作的活动了。问你最小的期望结束制作的时间是多少?思路:这道题比赛的时候做的时候,因为看到了期望最小,一开始把队友引到了期望DP的误区,确实是这方面解除的题目不够全面,导致拖延了很多思考和调试正解的情况,锅很大qwq。根据题目叙述我们可以知.原创 2021-01-07 14:58:28 · 624 阅读 · 0 评论 -
三分专题 几道练习题
我理解的三分算法其实就是用来解决一类这种求解函数的极值的方法。可以用来单峰或者单谷函数求极值点的问题。我们确定下来左端点L和右端点R后,我们令mid = L + (R - L) / 3,midmid = R - (L + R) / 3,然后比较这两处的函数值的大小, 如果我们求得是极大值,那么假如此时F(mid) < F(midmid),那么就说明小的那部分外面的我们其实就可以舍去不要了,同理求极小值的话,就是大的部分那外面就可以不要了。这样的话,最后通过不断的逼近,我们就可以得到极值点的值.原创 2021-01-07 14:30:24 · 439 阅读 · 1 评论 -
BZOJ2653 middle (主席树 + 二分答案 + 维护区间最大连续字段和)
题意:就是问你在给定的[a,b]和[c,d]中怎么样选择左右端点,才能使得这段区间内的数的中位数最大。思路:首先一个对于中位数的套路,对一个M,把区间内小于它的数赋值为-1,大于等于他的数为1,如果对于一个给定的区间,区间和大于等于0的话,代表这个M一定大于等于这个区间的中位数。很明显这个值符合单调递增的性质,所以我们具体找确定的中位数,只需要二分答案即可。再看如何,在[a,b]和[c,d]这个区间内选择,暴力肯定是会超时的,在想这个和不是有单调性嘛,那我们只需要得到给定区间内的最大值看他是否可行即可.原创 2020-11-22 20:26:04 · 203 阅读 · 0 评论 -
2020CCPC绵阳站 D-Defuse the Bombs (二分答案)
题意:给定一个序列长度为n的序列a。1.选择一个ai使得它的值加一2.所有的ai都减一3.如果此时有ai的值小于0,那么结束,否则的话返回第一步。问你最多能执行多少次1步骤?思路:由于最后3的判断在1后面,所以如果我们要找的答案是x,我们先x–。然后对于所有ai,如果满足∑i=1n(x−ai)\sum_{i=1}^{n} ({x - a_i})∑i=1n(x−ai)是大于等于x的话,就证明这个答案是符合我们的要求的(也就是还没有a小于0的情况发生),否则的话就不是我们要的答案。很明显这个x.原创 2020-11-09 21:45:22 · 824 阅读 · 0 评论