题面: 传送门 思路: 树上点对信息? 点分治啊! 照例处理联通块信息,然后再减掉儿子里面重复的 至于每个联通块的信息,就是把每个点到父亲的距离,小于k的放到一个数组里面,排个序,两头双指针扫一遍即可,O(nlogn) 再加上递归层数logn,总效率O(nlognlogn) Code: ...
分类:
其他好文 时间:
2018-02-21 16:34:53
阅读次数:
162
题解:动态点分治 建立点分树,每个节点维护两个容器 记录本子树内到点分树父亲节点的路径长度集合 和自己所有子树内节点到自己的最长路径构成的集合 //语文不好,凑合着看吧QWQ 支持删除,所以用双堆来维护即可 同时维护全局堆统计答案 ...
分类:
其他好文 时间:
2018-02-19 21:12:45
阅读次数:
184
计算几何: 半平面交、三维计算几何 字符串 后缀大家族(后缀自动机、后缀数组、后缀树、后缀平衡树…) manacher 数据结构 启发式合并、可持久化 莫队(树上莫队、带修改莫队) Splay、替罪羊树、动态树、点分治 数学 洲阁筛、杜教筛 动态规划 数据结构优化、决策单调性(分治决策)、斜率优化 ...
分类:
其他好文 时间:
2018-02-13 17:55:40
阅读次数:
146
唉:-(动态点分治的思想真是复杂...... 先码住,再做几道题再来填坑 PS:接下来的Code因为用了倍增lca所以TLE一部分,但是懒得改成RMQ了...... Code: ...
分类:
其他好文 时间:
2018-02-07 14:39:15
阅读次数:
160
4016: [FJOI2014]最短路径树问题 Description 给一个包含n个点,m条边的无向连通图。从顶点1出发,往其余所有点分别走一次并返回。 往某一个点走时,选择总长度最短的路径走。若有多条长度最短的路径,则选择经过的顶点序列字典序最小的那条路径(如路径A为1,32,11,路 径B为1 ...
分类:
其他好文 时间:
2018-02-06 14:12:48
阅读次数:
295
题目链接 wc听不懂lca讲的高等数学专场(一个字都听不懂),然后就自学了点分治。 点分治就是我先处理完跟根有关的东西,然后把根标记掉,把原树拆成若干个联通块,然后分别对每个联通块(每个小树)搞一模一样的操作。 然后要每次求重心,因为点分治复杂度跟递归深度有关。 本题判断的时候偷懒用map,其实自己 ...
分类:
其他好文 时间:
2018-02-05 23:13:14
阅读次数:
141
参考:https://www.cnblogs.com/CQzhangyu/p/7071477.html 神奇的点分治序(或者叫点剖?)。就是把点分治扫过的点依次放进队列里,然后发现,对于每一棵树摊到序列上,每个点的值v是重心到这个点的距离,那么对序列上的每个点定义l为这个子树重心在序列上的位置,r为 ...
分类:
其他好文 时间:
2018-02-04 12:44:35
阅读次数:
155
Day1 T1 贪心题 写了一个很正常贪心,然后WA了几发才AC,可能也就调了3hours. 嗯,签到题拿下. T2 树上计数题 10%的数据我可能见过原题,but10分我可能调不出来. 据说正解是用线段树,并查集-启发式合并或者虚树优化dp啥的,我还肛了点分治,导致复杂度退化. 爆0妥妥的. T3 ...
分类:
其他好文 时间:
2018-02-03 16:07:05
阅读次数:
299
n<=200000的边权树上问长度=K<=1000000的链中边数最少的。 点分治。开个桶统计各个长度的答案。 1 #include<string.h> 2 #include<stdlib.h> 3 #include<stdio.h> 4 #include<math.h> 5 #include<al ...
分类:
其他好文 时间:
2018-01-25 14:12:08
阅读次数:
118
【题目】E. Palindromes in a Tree 【题意】给定一棵树,每个点都有一个a~t的字符,一条路径回文定义为路径上的字符存在一个排列构成回文串,求经过每个点的回文路径数。n<=2*10^5。 【算法】点分治 【题解】状压20位的二进制表示一条路径的字符状态,点分治过程中维护扫描过的路 ...
分类:
其他好文 时间:
2018-01-23 10:47:19
阅读次数:
272