![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分治,二分
Hacheylight
ZJ OIer
展开
-
洛谷Luogu-267 跳石头(NOIP提高组2015 day2 t1)(二分答案) HQG_AC的博客
也是一道二分答案。这几年NOIP很喜欢考二分答案么。二分最远距离,check当前情况符不符合;1.如果两石头之间的距离小于k,就拆掉当前石头;2.不然一这块石头为起点继续枚举。我的两次错误:1.a数组只开了50000,要开大点2.l的初始值是0,r是L,条件是l+1<r,输出是r详见代码:#include <bits/stdc++.h> using namespace std ;...原创 2018-02-20 11:07:25 · 209 阅读 · 0 评论 -
0x42 Lost Cows (二分+树状数组)
我们应该先由一般的规律推出来 如果你要确定某个数字 ppp 那么我们就要知道 ppp 的前面有多少个数字比它小,记为 mmm ppp的后面有多少个数字比他小,记为nnn 那么 ppp 的位置就该在这个数列中的第 m+n+1m+n+1m+n+1 处,我们就二分这个 ppp ,拿每次得到的 midmidmid 来和 m+n+1m+n+1m+n+1 来比较大小, 如果 m+n+1&gt;midm...原创 2019-02-07 12:51:04 · 185 阅读 · 0 评论 -
[ZJOI2018] 胖 (ST表+二分)
换个角度,考虑每一个修路的点能更新到哪一些点,显然这是一个包含自己的连续区间。 那么对于一个修路的点 XXX,分别二分左右两个端点 L,RL,RL,R,以 LLL 为例,令 l=X−Ll=X-Ll=X−L,如果 [L−l,L+l][L-l,L+l][L−l,L+l] 这个区间内不存在点使得从这里出发到 LLL 小于从 XXX 出发到 LLL,那么这个 LLL 就是可行的。 答案就是求 ∑i=1K(...原创 2019-02-06 21:50:54 · 245 阅读 · 0 评论 -
0x3B 矩阵幂求和 (矩阵快速幂+分治)
一看题目就一脸懵逼,蛤,这不是要做k次矩阵乘法。。。稳稳地TLE 一位叫hzk_cpp的神仙这题直接等比数列+矩阵求逆就能过了,我表示我不会矩阵求逆。。。(本来要学的,结果咕了) 然后问教练,教练推荐我看Matrix67里面有这道题的题解,emm发个地址吧 wow真的好巧妙 ...原创 2019-02-03 20:56:18 · 536 阅读 · 0 评论 -
CF888C K-Dominant Character 题解
楼上的题解太强了,本菜鸡来说一说其他做法 这个题目看到的第一感觉就是二分答案,因为又是要求最小值且答案有单调性 设n=∣S∣n=|S|n=∣S∣,二分最小的kkk,然后O(n)O(n)O(n)的扫出每个字串,把每个字串的字符信息保存,然后判断每一个字串是否有公共字符。 我们发现这样做有一些浪费时间,因为每个字串的字符信息是不会变的,于是我们可以把它前缀和记录一下 sum[i][j]sum[i][j...原创 2019-01-02 21:23:46 · 194 阅读 · 0 评论 -
USACO 2018 December Contest Silver 题解
T1 Convention 【题意】 有nnn头奶牛,第iii头在a[i]a[i]a[i]时刻到达,有mmm量大巴车接他们,每辆最多载kkk人(注意不需要坐满才能走),求等候时间最长的奶牛最短时间是多少 【分析】 又是最大值最小的问题,很容易想到二分答案 二分等候时间最长的奶牛等候midmidmid分钟 checkcheckcheck函数也很好想 先按到达时间把奶牛排序 记录第一个上车的时间和已上...原创 2018-12-25 16:27:58 · 568 阅读 · 0 评论 -
[Usaco2007 Jan]Telephone Lines架设电话线
LG1948 BZOJ1614 又遇到最大最小的问题,一看就是二分答案。 二分最短路径只为mid是否可能,之后跑一遍spfa就可以了,(似乎出题人没有卡。。。请勿学习本人) 判断最短路径是否小于等于mid即可。 其他都是基本操作,具体看代码 #include &lt;bits/stdc++.h&gt; using namespace std; typedef long long ...原创 2018-08-03 22:05:02 · 177 阅读 · 0 评论 -
7月23日考试 爆炸记 + 题解
考试PDF A.移动杠铃原创 2018-07-24 10:58:54 · 510 阅读 · 0 评论 -
洛谷Luogu-2759 奇怪的函数 (二分答案) HQG_AC的博客
看着很像快速幂,但快速幂肯定要超时。于是乎。。这种题目本来就很水(标签是提高+/省选,但实际也就普及),而且又是最值问题,当然,x也那么的大,故:用二分答案解决16行代码二分可行x,用求位数公式 len=(x*logx)/log(10)+1求出位数,之后与len比较,小于则枚举右一半,否则左一半输出是l建议使用long long ,我也不知道开int会不会爆,于是开了long long详见代码:#...原创 2018-02-20 11:13:57 · 247 阅读 · 0 评论 -
洛谷Luogu-1083 借教室(NOIP提高组2012 day2 t2)(详) HQG_AC的博客
很奇怪,这么简单的一道二分答案,为什么是提高+/省选-?AC方案:二分答案二分答案:枚举可能完成几个订单,在判断是否能够满足(O(n)),总体复杂度O(nlogn)详见代码:#include <bits/stdc++.h> using namespace std ; int n,m,l,r,mid ; const int MAXN=1000000 + 15 ; int b[MAXN],...原创 2018-02-20 11:01:33 · 196 阅读 · 0 评论