12.1 省选训练总结2(1) 点分治/平衡树

来源:互联网 发布:acdsee软件 编辑:程序博客网 时间:2024/06/05 08:36

目录

点分治

完成情况 题目 出处 Tree POJ 1741 权限题 Race BZOJ 2599 [IOI2011] AC 聪聪可可 BZOJ 2152 D Tree HDU 4812 Amaz1ng Prime CDOJ 1562 权限题 采药人的路径 BZOJ 3679 Attack and Defence Osipovsky Cup 2014

Splay

完成情况 题目 出处 AC 普通平衡树 BZOJ 3224 Tyvj 1728 AC 宠物收养所 BZOJ 1208 [HNOI2004] Book 书架 BZOJ 1861 [ZJOI2006] 永无乡 BZOJ 2733 [HNOI2012] Army Formations HDU 6133 AC 文艺平衡树 BZOJ 3223 Tyvj 1729 AC Cards Sorting Codeforces 830B (#424)

完成情况截图

聪聪可可

普通平衡树

文艺平衡树

宠物收养所

Cards Sorting


点分治

首先找重心,然后对过了重心的路径计算,最后递归点分。

前4道题是点分裸题,就不赘述。

Amazing Prime

给定一棵树,边带权(0或者1),问你树上有多少条路径满足权值之和为素数。

对于每一个答案,计算式:

num[x]=f[0]f[x]+f[1]f[x1]+...+f[x]f[0]

所以对于所有num,做卷积(需要FFT)。

采药人的路径

给你一棵树,边带权(1或者1),问你树上有多少条路径满足边权和为零,且存在一个中间点,使得该点到路径两个端点的边权和都为零。

这个题首先我们把前缀和中有和这个前缀和相等的,给他打标记。这样意思就是说到重心的路上有一个可以作为中间点的。

然后可以匹配的点分四类:
0没有标记:所有其他树上的0
0有标记:所有其他树上的0和重心。
不为0没有标记:有标记的相反数。
不为0有标记:所有相反数。

Attack and Defence

给你一棵树,每个点有一个左括号或者右括号,问你树上能够完美匹配的路径数量(lr,rl 视作不同路径)。

首先(1)1

合法的左半边:前缀和均大于0
合法的右半边:前缀和均小于0

然后一般的点分思想,只是不合法的就不计答案并且不加入维护。

Splay

Splay通过大量的Splay逐渐使其平衡。Splay可做几乎所有动态的区间操作问题。

普通平衡树,文艺平衡树,以及宠物收养所是板题,就不总结。

Book 书架

给定初始时书架上从上往下的书本的编号,维护这个书架,支持放到顶,放到底,前移一个,后移一个,询问。

首先左右设置足够大的空间,然后放到底放到顶就放到左右的空位,前后移就是和前驱后继交换。

永无乡

维护一张点带权无向图,支持连接某两个点,询问某个连通块内权值的K小值是多少。

一个纯纯的无旋Treap好不好!当然也可以Splay启发式合并。

Army Formations

给你一颗树,每个结点的儿子数不超过2。每个结点有一个权值,一个结点的代价被定义为将其子树中所有结点的权值放入数组从大到小排序后,每个权值乘以其下标的和。让你计算所有结点的代价。

启发式合并!每一次将Splay大小较小的结点的权值全提取出来塞到较大的里面。每一个有点大的值会使一些小值后移,后移一个的增加代价就是他自己。

Cards Sorting

一列卡片,一个人,每次从卡片的最左端开始,依次看过去,如果它是当前的全局最小值,那么将它移除,如果不是,那么将它放到序列的最右端。持续到序列为空为止。问你他进行的这两种操作的总次数。

首先想法是找到最小值,把最小值前的区间活摘下来放到末尾。细思发现只需要Splay删除点到根然后交换左右子树就好了!

总结

树上路径问题可以考虑点分治,主要考虑如何求跨过重心的路径,细节要注意多考虑,包括是否选入重心、是否算重等等。

Splay可以解决大多数区间动态操作。应熟练掌握模板!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1岁小儿特别懒怎么办 17的孩子很懒怎么办 上大班的孩子不愿写字怎么办 快上中班的小朋友不爱学习怎么办 小学生两边肩膀不平应该怎么办 写字右肩膀疼是怎么办 开车久了肩膀疼怎么办 3岁宝宝撕书怎么办 孩子上幼儿园不爱写字怎么办 一年级小孩不爱做作业怎么办 小孩不愿多做作业怎么办 小孩一年级不自觉做作业怎么办 小孩会读不会写怎么办 好多字都不会写怎么办 写作业怎么办才能写快 五周宝宝爱玩不写字怎么办 爱玩手机的小孩怎么办? 一年级学生记不住生字怎么办 一年级小孩记不住生字怎么办 配镜度数高了怎么办 宝宝两岁半不肯坐马桶拉臭臭怎么办 儿子字写得不好 怎么办 小孩不听话不爱读书和写字怎么办 两岁宝宝不愿意穿衣服怎么办 做题粗心不认真怎么办 5岁宝宝不会写字怎么办 四岁宝宝不会写字怎么办 4岁宝宝不写字怎么办 四岁宝宝不写字怎么办 孩子学习粗心计算能力差怎么办 一年级的小朋友不爱看书怎么办 马上要生了害怕怎么办 孩子做题不爱读题怎么办 孩子作业写的慢怎么办 孩子学习不好怎么办我们有绝招 英语不会做题怎么办呢? 小学二年级孩子厌学怎么办 狗狗拉肚子不吃东西怎么办 小孩做作业时容易发呆怎么办 一上高速就犯困怎么办 孩子初中数学学不好怎么办