再水一道模板题,明天就要出发去参加二轮省选了赶紧复习复习模板。 链剖模板题,可是写链剖太麻烦了,还是写lct吧。 但这个lct比较麻烦了,因为边权有正有负,要统计最大值和最小值,这样点权赋为什么值都会妨碍统计。 想了半天,后来发现自己脑抽了,统计的时候特判一下当前点是点还是边不就可以了吗? 裸的模板 ...
分类:
其他好文 时间:
2016-05-13 13:07:44
阅读次数:
167
离线后倒过来做,这样就跟魔法森林差不多了,缩边为点就可以统计边的权值了。 1A真是爽,可惜常数炸上了天,这是滥用stl容器和无脑link,cut的后果 模板一定不能写残啊,想起一个月前Round1Day1调LCT的模板调了4h,查出各种手残的错误QAQ然而并没有什么用。 ...
分类:
其他好文 时间:
2016-05-13 10:11:23
阅读次数:
131
题意:求多次区间反转后的序列
一眼splay,我用了可持久treap实现的。
速度也不错 2008ms
这么想想splay好像没什么用了(大雾@lct#include
#include
#include
#define N 200005
#define mp make_pair
#define pa pair
using...
分类:
其他好文 时间:
2016-05-12 21:26:59
阅读次数:
144
【题目链接】
一开始写了个二分a+最短路b,骗了65分,然后改成二分b+最短路a,骗了70分。。发现二分是不对的之后,给答案取min,骗到了90分。出题人太不负责任了。
正解是枚举a,用LCT维护b的最小生成树。
/* Telekinetic Forest Guard */
#include
#include
#include
using namespace std;...
分类:
其他好文 时间:
2016-05-12 12:23:37
阅读次数:
193
考场上写了lct,可惜当时对标记永久化的理解并不是十分深刻,导致调一个错误的程序调了4h+,最后这道题爆0了QwQ 现在写了树链剖分,用标记永久化的线段树维护轻重链,对于$s\rightarrow lca$,$lca\rightarrow t$分开讨论,把$a×dist+b$这个式子打开,提出常数项 ...
分类:
其他好文 时间:
2016-05-07 13:30:18
阅读次数:
223
通过用LCT维护parent树来实现后缀自动机的在线操作。 注意right值初始化为0,然后加新结点的时候只要将np的right值设为1,而不需要改变nq的right值,因为nq是内部的结点,np才是外层的结点。 思路很简单,代码真长,调了挺久。。。。不过写起来还算清晰。。。 #include<bi ...
分类:
其他好文 时间:
2016-05-05 22:07:16
阅读次数:
194
【首先声明:LCT≠动态树,前者是一种数据结构,而后者是一类问题,即:LCT—解决—>动态树】 Link-cut-tree(下文统称LCT)是一种强大的数据结构,不仅可以像树链剖分一样对树上的两点进行询问(权值和、权值的最值……),还可以维护森林的连通性。 学习LCT首推杨哲神犇的《QTREE解法的 ...
分类:
Web程序 时间:
2016-04-23 19:42:26
阅读次数:
374
慎入…此人代码自带5倍常数。。
静态的话就是随便搞出一棵生成树来,然后把环缩起来,询问的答案就是路径上的权值和
动态的就需要LCT来维护生成树,每遇到连起边来就形成环的情况时,就把这个环缩成一个点
动态的查询一条链上的权值和。
为什么我的代码的常数这么大…….后几个点在本地跑5s#include
#include
#include...
分类:
其他好文 时间:
2016-04-21 10:26:12
阅读次数:
148
又一道LCT模板题。 如何找是不是在同一棵树上?只要找深度最小的点是不是相同的点即可。 也就是splay最左边的那个点。 ...
分类:
其他好文 时间:
2016-04-16 18:21:03
阅读次数:
143