Before 哦…… -O2 T1 序列问题:分块(莫队),树状数组,线段树,分治 离线 or 在线 $1e5 \Rightarraw N \log N \text{or} N \sqrt{N}$ T2 像是平面几何……先看看 T3 毒瘤……也许可以模拟一下 (或者反向思考) During T1 I ...
分类:
其他好文 时间:
2019-09-22 12:33:14
阅读次数:
117
poj1741 题:http://poj.org/problem?id=1741 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; typedef long l ...
分类:
其他好文 时间:
2019-09-21 15:01:06
阅读次数:
90
"题目" 首先我们想想不加边删边怎么做。 先随便找一棵生成树,然后枚举每条边,把新生成的环的长度放到线性基里。 对于每次询问,把树上路径放到线性基里查询最小值。 如果有加边,每次加边就好了。 想想对于删边应该如何做。 我们把每次询问加一个时间,那么我们每条边都有一个存在时间段。 对于每次询问,只有时 ...
分类:
其他好文 时间:
2019-09-15 18:56:39
阅读次数:
121
"题目" 简化题意:你需要维护$n$个集合,集合元素为二元组$(x,v)$。集合$i$的产生方式是以某个原有集合$p_i$为样本,扩展或删除一个元素后得到新集合。有$q$次询问,每次给出$y$并指定一个集合$i$,要求从集合$i$中找出一个元素,最小化$(x?y)^2+v$。 先拆式子$(x y)^ ...
分类:
其他好文 时间:
2019-09-14 19:26:02
阅读次数:
116
"luogu" "uoj" 注意到用这个集合产生方式可以构建出一个树型结构,并且每个加入/删除元素都是对应的一个子树的范围,对应到dfs序上就是每次对一个区间内的集合加入/删除元素,所以可以线段树分治,把每种元素的出现区间整出来 把答案柿子$(x x_0)^2+c$拆开,得到$x^2 2x x_0+ ...
分类:
其他好文 时间:
2019-09-11 18:01:06
阅读次数:
81
2014徐寅展论文《线段树在一类分治问题上的应用》读后感。 线段树分治 线段树分治其实就是 有撤销操作的时间分治 。 题目让你维护一些信息,每次可以询问,可以执行一种操作,也可以将之前的某个这种操作撤回。 操作容易维护,但撤回操作不容易维护。 需要将操作,询问都离线下来。将时间轴画出来,那么每个操作 ...
分类:
其他好文 时间:
2019-09-08 20:13:32
阅读次数:
85
二叉树递归相关题目的时间复杂度基本上都是O(n) = 一共有n个点 + 每个点的时间复杂度(1) 而二叉树分治法最坏的时间复杂度为O(n^2) 时间复杂度:T(n) = 2T(n/2) + O(1) = O(n) Merge Sort, Quick Sort: T(n) = 2T(n/2) + O( ...
分类:
其他好文 时间:
2019-08-20 18:29:33
阅读次数:
90
写在前面:今天下午药丸……不会字符串,全程掉线/ll 给出字符串$S$,$q$次询问,每次给出$a,b,c,d$,询问$S[a,b]$的所有子串和$S[c,d]$最长公共前缀的最大值。$|S|,q \leq 10^5$。 取反建个SAM,每次二分答案。如果存在,合法串的右端点一定在$[a+len 1 ...
分类:
其他好文 时间:
2019-08-19 09:57:56
阅读次数:
134
Codeforces 938G Shortest Path Queries 一张连通图,三种操作 1.给x和y之间加上边权为d的边,保证不会产生重边 2.删除x和y之间的边,保证此边之前存在 3.询问x到y的路径异或最小值 保证图在任意时刻连通 首先连通图路径异或相当于从x到y的任意一条路径再异或上 ...
分类:
其他好文 时间:
2019-08-13 15:54:31
阅读次数:
75
第二道线段树分治。 首先设当前向量是(x,y),剩余有两个不同的向量(u1,v1)(u2,v2),假设u1>u2,则移项可得,若(u1,v1)优于(u2,v2),则-x/y>(v1-v2)/(u1-u2),然后维护上凸壳后进行三分即可,复杂度O(nlog2n),如果将询问排序扫一遍,可以优化到O(n ...
分类:
其他好文 时间:
2019-06-18 12:13:38
阅读次数:
78