摘要: P3690 【模板】Link Cut Tree (动态树) 思路 "candy" 不是太掌握 也落落不太清楚 自己学习吧 ~~lmc讲的时候睡着了~~ cpp include define ls c[x][0] define rs c[x][1] const int N=300009; using 阅读全文
posted @ 2018-12-26 20:28 ComplexPug 阅读(192) 评论(0) 推荐(0) 编辑
摘要: P2147 [SDOI2008]洞穴勘测 思路 没办法,我就是喜欢板子都想发的人 都是基础操作,不多说了 代码 cpp include define ls ch[x][0] define rs ch[x][1] define FOR(i,a,b) for(int i=a;i'9'||s='0'&&s 阅读全文
posted @ 2018-12-26 20:18 ComplexPug 阅读(115) 评论(0) 推荐(0) 编辑
摘要: P3203 [HNOI2010]弹飞绵羊 思路 每个点都往后面连边 所以肯定没有环 超过n的算连向n+1 n+1个点,n条边,没有环,一定联通 那就差不多是个树了 然后就LCT模拟他的操作就行 有比较简单的LCT做法,不过我还是喜欢无脑一点的 错误 cut操作x写错i 代码 阅读全文
posted @ 2018-12-26 20:15 ComplexPug 阅读(112) 评论(0) 推荐(0) 编辑
摘要: P4172 [WC2006]水管局长 前言 luogu数据太小 去bzoj,他的数据大一些 思路 正着删不好维护 那就倒着加,没了 LCT维护他的最小生成树MST 树上加一条边肯定会有一个环 看看环上最大值和加边的大小 然后选择加不加,改不改 错误 哇,恶心撒 怼着题解都写不出来 最后乱改了一下就A 阅读全文
posted @ 2018-12-26 20:09 ComplexPug 阅读(205) 评论(0) 推荐(0) 编辑
摘要: P3979 遥远的国度 思路 一开始我用这个函数得到左端点 发现是错误的 无奈数据太水,还90,bzoj也错了一个点 debug了一上午 到现在我也不知道哪里错了,各路好汉看看吧 也许是我没用dfs序的性质吧 x的儿子点一定在x的子树范围内child[x] child[x]+siz[child[x] 阅读全文
posted @ 2018-12-26 20:05 ComplexPug 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 思路 这个题哪里有那么费脑筋 我们可以树链剖分嘛~~LCT昨天学的时候睡着了,不是太会~~ 两遍dfs+一个5行的BIT 其实树链剖分学好了对倍增和LCT理解上都有好处 一条路径上的修改 由于一条剖出来的链是连续的,我们要选择数据结构维护 不过这里不用维护太多东西,只是区间+1 我们可以选择常数小, 阅读全文
posted @ 2018-12-26 19:59 ComplexPug 阅读(201) 评论(0) 推荐(0) 编辑
摘要: P3178 [HAOI2015]树上操作 思路 板子嘛,其实我感觉树剖没啥脑子 就是debug 代码 cpp include define int long long define ll long long define ls rt'9'||s='0'&&s 1; build(l,mid,ls); 阅读全文
posted @ 2018-12-26 19:56 ComplexPug 阅读(131) 评论(0) 推荐(0) 编辑
摘要: P3313 [SDOI2014]旅行 思路 有点恶心咯 每个信仰开一颗线段树记录 修改或者查询的时候去那一颗信仰线段树中查询就好 必须动态开点线段树 没有区间修改还算好写 错误 查询跳链写错了 阅读全文
posted @ 2018-12-26 19:52 ComplexPug 阅读(148) 评论(0) 推荐(1) 编辑
摘要: [HEOI2016/TJOI2016]树 思路 做的时候也是糊里糊涂的 就是求最大值的线段树 错误 线段树写错了 阅读全文
posted @ 2018-12-26 19:48 ComplexPug 阅读(174) 评论(0) 推荐(0) 编辑
摘要: GSS7解题报告 前言 唔,有点恶心哪,废了两个多小时debug 思路 很容易看出~~傻子都知道~~,这个是树链剖分+线段树的裸题,只不过是恶心了点,这里重点讲一下细节问题 线段树 做过GSS系列的都应该很熟悉了 线段树维护的前缀最大子段和,后缀最大子段和,和区间最大子段和 那么我们就可以很容易的写 阅读全文
posted @ 2018-12-26 17:35 ComplexPug 阅读(277) 评论(0) 推荐(0) 编辑