
启发式合并
olahiuj
我的女朋友不抽烟不喝酒不傲娇不化妆不存在
展开
-
2017年10月6日提高组T2 有趣的异或
DescriptionInputOutputHintSolution看到判断真假条件的都要想到并查集了(哭 但是这里我并没有用并查集做法考虑我们如果已经得到了目标序列a,并记录一个前缀异或数组s,则对于全部的询问l, r, k都要满足s[r]xor s[l-1]=k。那么我们对于一个操作l, r, k,若l-1和r同属于一个集合就判断他们之间的路径是否为k,若他们不属于同一个集合就连权为k的边合并原创 2017-10-16 21:24:32 · 203 阅读 · 0 评论 -
bzoj2733 [HNOI2012]永无乡
Description永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛 b 是连 通的。现在有两种操作:B x y 表示在岛 x 与岛 y 之间修建一座新桥。Q x...原创 2018-03-12 21:44:14 · 146 阅读 · 0 评论 -
bzoj3473 字符串
Description给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串?对于 100% 的数据,1<=n,k<=10^5 所有字符串总长不超过10^5 字符串只包含小写字母Solution感觉还有很多后缀自动机的玩法不太懂可以建广义sam,每个节点用set记录包含哪些给定字符串的子串,然后就可以启发式合并求ri...原创 2018-03-30 21:59:21 · 207 阅读 · 0 评论 -
bzoj3123 [Sdoi2013]森林 可持久化线段树+启发式合并
Description小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值。初始的时候,森林中有M条边。小Z希望执行T个操作,操作有两类:Q x y k查询点x到点y路径上所有的权值中,第k小的权值是多少。此操作保证点x和点y连通,同时这两个节点的路径上至少有k个点。L x y在点x和点y之间连接一条边。保证完成此操作后,仍然是一片森林。为了体现程序的在线性,我...原创 2018-06-14 21:35:29 · 219 阅读 · 0 评论 -
bzoj3545 [ONTAK2010]Peaks 离线询问+splay启发式合并
Description在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如果无解输出-1。N<=10^5, M,Q<=5*10^5,h_i,c,x<=10^9。Sol...原创 2018-06-19 20:20:17 · 228 阅读 · 0 评论 -
51nod1782 圣诞树 dsu on tree+splay
Descriptionξ 得到了一棵圣诞树,他需要在上面挂满礼物。 ξ 会事先进行m个操作,每次在一条链(u[i],v[i])上的每个点上挂上a[i]个种类为b[i]的礼物。 一个点的k-美观度这样计算:把这个点上的所有种类的礼物按照个数从小到大排序,如果个数一样就按照种类从小到大排。 它的k-美观度就是排好序后前k种礼物种类的xor值(如果礼物种类不足k种,就把这个点上所有礼物的...原创 2018-08-12 22:14:59 · 242 阅读 · 0 评论 -
jzoj5833 Endless Fantasy 树上启发式合并+线段树
Description中二少年cenbo幻想自己统治着Euphoric Field。由此他开始了Endless Fantasy。 Euphoric Field有n座城市,m个民族。这些城市之间由n-1条道路连接形成了以城市1为根的有根树。每个城市都是某一民族的聚居地,cenbo知道第i个城市的民族是A_i,人数是B_i。为了维护稳定,cenbo需要知道某个区域内人数最多的民族。他向你提出...原创 2018-08-20 19:54:55 · 378 阅读 · 0 评论 -
jzoj5926 naive 的图 最小生成树+启发式合并+线段树合并
Description众所周知,小 naive 有一张 n 个点,m 条边的带权无向图。第 i 个点的颜色为 ci。d(s, t)表示从点 s 到点 t 的权值最小的路径的权值,一条路径的权值定义为路径上权值最大的边的权值。求所有满足 u < v, |cu − cv| ≥ L 的点对 (u, v) 的 d(u, v) 之和。Solution最后5秒没交上去。。第一个条件没什么用...原创 2018-10-25 16:58:44 · 512 阅读 · 0 评论 -
bzoj4919 [Lydsy1706月赛]大根堆 multiset+启发式合并
Description给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点。每个点有一个权值v_i。你需要将这棵树转化成一个大根堆。确切地说,你需要选择尽可能多的节点,满足大根堆的性质:对于任意两个点i,j,如果i在树上是j的祖先,那么v_i>v_j。请计算可选的最多的点数,注意这些点不必形成这棵树的一个连通子树。第一行包含一个正整数n(1<=n<=20000...原创 2019-02-24 22:00:43 · 347 阅读 · 0 评论