题目传送门 K-th Number Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 69053 Accepted: 24471 Case Time Limit: 2000MS Description You are workin ...
分类:
其他好文 时间:
2018-10-05 12:14:54
阅读次数:
82
最近做了一道关于整体二分的题。 很开心地涉足了关于求区间第k大问题。 问题:给定序列,若干询问,求区间第k小。 第k大类推。 离线算法: 整体二分。 将所有询问离线下来,挂在区间右端点先。 对所有询问二分答案mid。 那么序列上的数就可以划分为两类了,一类小于等于mid,一类大于mid。 用树状数组 ...
分类:
其他好文 时间:
2018-10-04 10:23:01
阅读次数:
325
莫名其妙发现了这个算法,研究了一下,发现了它奇妙的时间复杂度QwQ ...
分类:
其他好文 时间:
2018-10-01 23:48:08
阅读次数:
362
题意:给出一个无向连通图,有$n$个顶点,$m$条边。有$q$次询问,每次给出$x,y,z$,最小化从$x$和$y$开始,总计访问$z$个顶点(一个顶点只计算一次),经过的边的编号的最大值。 $n,m,q \leq 10^5$ 这道题难度不大。考虑单次询问,答案显然是可以二分的。二分答案后,就只用求 ...
分类:
其他好文 时间:
2018-09-19 16:26:55
阅读次数:
193
题面 "题目传送门" 解法 树套树比较苟,考虑整体二分 因为要求第K大,那么我们在二分的时候把$v$大于$mid$的放在右边并修改 修改直接用线段树区间加区间求和即可 时间复杂度:$O(m\ log^2\ n)$ 代码 cpp include define int long long define ...
分类:
其他好文 时间:
2018-08-14 22:50:57
阅读次数:
177
题解 又一次做这个题上一次用的是线段数上二分。这次用的是整体二分。结果: (第一个是整体二分) 整体二分就是对于所有查询都二分一个值。然后根据能不能成立把询问修改分成两部分,然后第二部分继承第一部分的信息,然后这两部分继续递归。直到答案的值域为一个数,将这些询问的答案设成这个数就行了。 实现的时候, ...
分类:
其他好文 时间:
2018-08-12 11:54:22
阅读次数:
109
题意 给定一个环,每个节点有一个所属国家,k次事件,每次对[l,r]区间上的每个点点权加上一个值,求每个国家最早多少次操作之后所有点的点权和能达到一个值 题解 一个一个国家算会T。这题要用整体二分。我们二分mid给所有国家判断。把可以满足条件的国家放在左边,把所有不满足的国家放在右边。然后继续递归。 ...
分类:
编程语言 时间:
2018-08-04 11:38:08
阅读次数:
142
决策单调性 单调队列和斜率优化是属于决策单调性的一种。而决策单调性是满足四边形不等式的前提下,满足i+1-n的转移点大于等于i的决策点。而基本实现方式是整体二分或者维护双端队列并且在双端队列上二分查找。 1.基于1D/1D的DP优化 一般来说,1D/1D的DP都能通过优化,在O(nlogn)的时间复 ...
分类:
其他好文 时间:
2018-06-24 23:58:23
阅读次数:
523
只适用于存在加减性的问题 有时候可以把一维主席树变成线段树+整体二分降低难度 一直没写过 今天写了一下 要注意的是 二分有负数的时候 加一句特判 int mid=(h1+t1)/2; if (h1<=0&&t1<=0) mid=(h1+t1-1)/2; ...
分类:
其他好文 时间:
2018-06-14 01:14:07
阅读次数:
155