思想基本同bzoj 2594,但是多了一步 首先我们发现这时的边有两个属性了,因此我们考虑先去掉其中一者的限制 我们把所有边按$a$大小排序,然后从小到大加入维护的最小生成树 每次加边时都按照$b$的大小操作bzoj 2594,然后更新答案即可 如果始终不联通输出-1 Read More
posted @ 2019-07-10 16:15 lleozhang Views(74) Comments(0) Diggs(0) Edit
很好的一道LCT题目 首先我们可以发现,题目要求的就是最小生成树上的一条树链的最长边的长度,因此我们实际只需动态维护最小生成树即可 然后我们考虑怎么动态维护最小生成树 不难发现,如果涉及在最小生成树上删边,那么这个操作将变得非常复杂,因为我们并不知道删边之后要把什么样的边补充回去才行 但是,如果我们 Read More
posted @ 2019-07-10 16:12 lleozhang Views(50) Comments(0) Diggs(0) Edit
LCT好题 首先我们考虑实际询问的是什么: 从LCT的角度考虑,如果我们认为一开始树上每一条边都是虚边,把一次涂色看作一次access操作,那么询问的实际就是两个节点间的虚边数量+1和子树中的最大虚边数量! 这种问题显然树上容斥,如果设$dis_{i}$表示$i$到根节点需要经过多少虚边,那么答案显 Read More
posted @ 2019-07-10 12:43 lleozhang Views(51) Comments(0) Diggs(0) Edit
LCT板子题... 看到题目中的操作很显然是从$i$向$i+k_{i}$连一条边,每次修改就是删除原来的边再加入一条新的边嘛 然后考虑查询:对于被弹飞的部分,我们统一新建一个节点$n+1$,把所有越过边界的部分指向这个节点即可 然后在查询的时候只需要拎出查询节点到$n+1$节点的树链,统计其大小即可 Read More
posted @ 2019-07-10 10:55 lleozhang Views(64) Comments(0) Diggs(0) Edit
真·小清新... 其实本题正解是动态点分治,但是考虑到那个东西需要先大力推导一波再套上一个幻想乡战略游戏的搞法,所以还不如大力推导一波,然后无脑套上一个树剖+线段树写法... 首先我们考虑没有换根操作: 没有换根操作时,设每次修改的变化量为$\delta$,很显然每次修改时只会影响一条树链上的贡献, Read More
posted @ 2019-07-10 08:57 lleozhang Views(58) Comments(0) Diggs(0) Edit
levels of contents