随笔分类 - 二分
摘要:tag:虚树,重链剖分,交互,构造,二分 首先预处理一下以 \(1\) 为根,每个点到根的 \(dis\),然后用一次操作可以求出任意两点的 \(lca\),\(lca=dep_x\oplus dep_y\oplus query(x,y)\)。 可以考虑增量法,每次加入一个点,然后维护当前点集的虚树
阅读全文
摘要:tag:二分,容斥,组合计数 仔细观察可以发现,对于一个方程来说,将 \(t\) 作为横坐标,解数看成纵坐标,那么会是一个上凸函数(而且是对称的,但不重要)。众所周知几个上凸函数的和也是上凸函数,而上凸函数的顶点可以二分,所以可以分段然后每一段二分顶点。 问题变为如何求一个点的值。 简单转化一下,有
阅读全文
摘要:tag:类欧函数,二分 本蒟蒻考场上的$nlog^21e9$的做法(官方正解是$nlog$的,不过思路大致相同) 先画一画跳的过程(或者写个程序)比如$a=7,p=26$ 7 14 21 2 9 16 23 4 11 18 25 6 13 20 1 8 15 22 3 10 17 24 5 12 1
阅读全文
摘要:tag:分块,二分 对操作序列分块。 对于一个块,先 \(O(n)\) 处理出当前每个点的真实值。由于一个块内最多只有 \(O(B)\) 个点会发生变化,所以可以按照指针关系将 \(O(n)\) 个点缩成 \(O(B)\) 个点,之后的操作就 \(O(B^2)\) 暴力操作。 对于一个询问,首先在预
阅读全文
摘要:tag:平衡树,二分 最优策略中一个点一定只选一次,否则只需要选最后一次就行了。 在确定取的点集后,按 \(t\) 从小到大取最优。 考虑 \(n^2\) 暴力,\(s\) 最大的那个一定出现在所有方案中,否则用它替换第一个点一定更优。(这里只是说明最大的一定出现,不代表它一定是第一个) 设最大的
阅读全文
摘要:tag:二分,模拟,李超线段树,倍增 max的变化只有最多n次,直接模拟。。 用二分可以找出每个点作为mx的时间段,然后用倍增去跳 #include<bits/stdc++.h> using namespace std; template<typename T> inline void Read(T
阅读全文

浙公网安备 33010602011771号