Maxwei_wzj的OI世界

Imagination is more important than knowledge.

【BZOJ3123】森林(SDOI2013)-树上主席树+启发式合并

测试地址:森林 做法:本题需要用到树上主席树+启发式合并。 如果树的形态固定,那么求路径第kkk大,我们想到用主席树。求区间的第kkk大我们是在序列上建主席树,每棵线段树代表一个前缀和,那么求路径的第kkk大,类比序列的前缀和与树上前缀和的转化,我们可以在树上建主席树,每棵线段树代表从一个点到...

2018-05-30 17:11:07

阅读数:68

评论数:0

【BZOJ4539】树(HNOI2016)-主席树+LCA

测试地址:树 做法:本题需要用到主席树+LCA。 要求两点间的距离,显然要维护每个点的深度,以及要求两个点的LCA。 我们把一开始的树看成一块,然后每次操作,都是在某一块下面挂一个新的块,每个块都是模板树的一棵子树。这样我们可以先把块缩成点,那么缩块后整棵大树就变成了一棵更小的树。考虑求一个...

2018-05-29 15:49:11

阅读数:47

评论数:0

【BZOJ2125】最短路-圆方树+倍增LCA

测试地址:最短路 做法:本题需要用到圆方树来处理仙人掌。 题目中所给的图称作仙人掌图,即每条边至多在一个环上的图。对于这种图,我们一般把它转化成树后,将树上的某些算法修改后来解决仙人掌上的问题。常用的一种转化方式就是圆方树。 在圆方树中,一个圆点表示原仙人掌中就有的点,而一个方点表示一个点双...

2018-04-20 11:57:21

阅读数:153

评论数:1

【BZOJ4817】树点涂色(SDOI2017)-LCT+LCA+线段树

测试地址:树点涂色 做法:本题需要用到LCT+LCA+线段树。 首先对于第一个操作,我们发现这个很像LCT中的access操作,那么因为每次涂的颜色不同,我们可以断定同种颜色的点一定是LCT中的一条重链,这样路径上不同的颜色段数就等于路径上轻边的数量+1+1+1。 于是我们可以维护f(i)f...

2018-04-13 09:05:48

阅读数:47

评论数:0

【BZOJ4568】幸运数字(SCOI2016)-树上倍增+异或线性基合并

测试地址:幸运数字 做法:本题需要用到树上倍增+异或线性基合并。 我们发现,每次询问都是求从一条路径上选一个子集,使得这个子集的异或和最大。如果只有一个询问,那敢开这题的大家肯定都会O(60n)O(60n)O(60n)的线性基+贪心做法,问题是有qqq个询问,暴力做显然会炸,所以需要找到优化的...

2018-03-22 22:18:30

阅读数:82

评论数:0

【BZOJ2815】灾难(ZJOI2012)-拓扑排序+建树+LCA

测试地址:灾难 做法:本题需要用到拓扑排序+建树+LCA。 首先看到要处理DAG上的问题,自然而然地想到用拓扑排序处理出图的层次(这里的图是指从被吃的生物指向吃的生物的图)。我们发现题目要求的是,将某一个点删去后,有多少个点因此不能从最高层(即图中入度为0的点)走到,这个问题非常难考虑,如果我...

2018-03-19 20:52:11

阅读数:64

评论数:0

【BZOJ3991】寻宝游戏(SDOI2015)-贪心+DFS序+set

测试地址:寻宝游戏 做法:本题需要用到DFS+set。 首先需要看出,无论从哪个点出发结果都相同。然后就是要找一种能得到最优解的走法,显然走每条边222次是最优的,那怎么样构造出走法呢?其实只要按照这些点的DFS序顺序走下去,最后走回第一个点即可。因为对于涉及到的每条边,只下去一次再上来一次,...

2018-03-16 20:49:07

阅读数:61

评论数:0

【BZOJ2286】消耗战(SDOI2011)-虚树+树形DP

测试地址:消耗战 做法:本题需要用到虚树+树形DP。 这题如果只有一个询问,相信大家都会做了,比较裸的树形DP。但是询问次数很大,每次询问都O(n)O(n)O(n)DP的话,总的时间复杂度就是O(nm)O(nm)O(nm),无法承受。但是我们发现,总共涉及的询问点数不大,那么我们迫切需要一个关...

2018-03-07 11:27:35

阅读数:63

评论数:0

【SPOJ10707】Count on a tree II-树上莫队算法

测试地址:Count on a tree II 题目大意:有一棵树,每个点有一个点权,多个询问,每次询问一条路径上有多少个不同的点权。 做法:本题需要用到树上莫队算法。 我们知道这题如果出在序列上就是莫队算法的裸题,而这题就是树上莫队算法的裸题。 我们知道要使用莫队算法,必须要将一条路径化...

2018-02-24 10:54:59

阅读数:63

评论数:0

【BJOI2010】次小生成树-最小生成树+倍增LCA

【BJOI2010】次小生成树-最小生成树+倍增LCA

2017-09-10 13:40:36

阅读数:123

评论数:0

【NOI2003T4】逃学的小孩-贪心+树形DP求直径+倍增LCA

【NOI2003T4】逃学的小孩-贪心+树形DP求直径+倍增LCA

2017-03-26 18:15:39

阅读数:504

评论数:0

【NOIP2016提高组T2】天天爱跑步-倍增LCA+树上差分

【NOIP2016提高组T2】天天爱跑步-倍增LCA+树上差分

2017-03-21 13:43:35

阅读数:1523

评论数:0

【Vijos-P1935】不可思议的清晨-树上倍增+LCA+分类讨论

【Vijos-P1935】不可思议的清晨-树上倍增+LCA+分类讨论

2016-11-08 21:20:28

阅读数:305

评论数:0

【POJ3417】Network-LCA算法+树上差分

【POJ3417】Network-LCA算法+树上差分

2016-08-06 19:07:34

阅读数:598

评论数:0

【ZOJ3195】Design the City-LCA算法

【ZOJ3195】Design the City-LCA算法

2016-08-05 00:37:41

阅读数:275

评论数:0

【POJ1330】Nearest Common Ancestors-LCA算法

【POJ1330】Nearest Common Ancestors-LCA算法

2016-08-04 13:59:31

阅读数:196

评论数:0

【NOIP2013提高组T3】货车运输-最大生成树+倍增LCA

【NOIP2013提高组T3】货车运输-最大生成树+倍增LCA

2016-08-03 10:38:17

阅读数:217

评论数:0

【POJ1986】Distance Queries-LCA算法

【POJ1986】Distance Queries-LCA算法

2016-08-03 10:08:20

阅读数:130

评论数:0

【HDU2874】Connections between cities-LCA算法

【HDU2874】Connections between cities-LCA算法

2016-08-02 00:07:09

阅读数:144

评论数:0

【HDU2586】How far away?-LCA算法模板题

【HDU2586】How far away?-LCA算法模板题

2016-08-01 23:58:32

阅读数:169

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭