————并查集
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
[BZOJ4551][JZOJ4604]【TJOI&HEOI2016】D1T1 树
Description 在2016年,佳媛姐姐刚刚学习了树,非常开心。 现在他想解决这样一个问题: 给定一颗有根树(根为1),有以下两种操作: 1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。) 2. 询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖 先)你能帮帮他吗?So原创 2016-07-11 14:36:43 · 727 阅读 · 0 评论 -
【杂题】[BZOJ4320]【ShangHai2006】Homework【平衡规划】【并查集】
Description需要支持两种操作1:在人物集合 S 中加入一个新的程序员,其代号为 X,保证 X 在当前集合中不存在。2:在当前的人物集合中询问程序员的mod Y 最小的值。 (为什么统计这个?因为拯救过世界的人太多了,只能取模)保证第一次为操作1N≤100000, 1≤X,Y≤300000Solution直接统计,很难办可以用平衡规划的思想搞一波令M=300000M...原创 2018-10-31 16:43:13 · 232 阅读 · 0 评论 -
【数据结构】【图论】[JZOJ4864] Dash Speed【无实现】
Description给出n个点的一棵树,每条边有一个承受区间[L,R][L,R] 接下来m个询问,每次询问一个x,表示需要回答所有承受区间包含x的边组成的森林的直径 n,m<=70000,l,r<=nSolution看上去不可做的样子事实上可以用分治的思想,弄出一棵线段树来,对于一条边就将它挂在线段树对应的log个区间上那么现在就相当于单点查询了 我们可以在一开始就将整棵线段树DFS一遍,然原创 2018-04-26 22:27:28 · 267 阅读 · 0 评论 -
[AtCoder Grand Contest 016] D: Xor Replace (agc016d)
原题链接 https://agc016.contest.atcoder.jp/tasks/agc016_dDescription给出一个n个数的序列a,每次操作可以将一个数变成整个序列的值的异或 求最少需要多少次才能将a变成目标序列b 无法完成输出-1n<=100000Solution考虑操作的本质只要按位稍微分析一下,就可以发现,题目相当于一开始手里抓着整...原创 2018-03-03 21:45:01 · 405 阅读 · 0 评论 -
[AtCoder Grand Contest 071] E: Jigsaw (agc071E)
原题链接 https://agc017.contest.atcoder.jp/tasks/agc017_eDescription给出N块拼图 每块拼图宽度为3,高度为相同的H 拼图由3个宽度为1的部分拼接而成,第一部分是高度为Ci到Ci+Ai的一块(不超过H),第二部分是高度1到H的一长块,第三部分是高度为Di到Di+Bi的一块(也不超过H) 如图 现在要将这N块拼图拼在...原创 2018-02-28 22:40:22 · 256 阅读 · 0 评论 -
[JZOJ5515] 送你一朵圣诞树
Description给出一棵树(不超过10个点可以作为根),每个点有一个权值a 要求按照某一个顺序选完所有点,一个点必须在父亲选完以后才能选,i号点在第j个被选对答案的贡献为a[i]*j 求最大的答案Solution考虑贪心假如当前先选一个点是最优的,那么一定在选完它的父亲以后立即选它,那么可以将它与父亲缩在一个并查集里,并且答案加上父亲的联通块大小乘上儿子(可以是个联通原创 2018-01-14 22:31:31 · 836 阅读 · 0 评论 -
[BZOJ4199][UOJ#131]【NOI2015】品酒大会
Description 给出一个长度为 n 的字符串,每一位有一个权值 val。定义两个位字符为 r 相似,是指分别从这两个字符开始,到后面的 r 个字符都相等。两个 r 相似的字符还有一个权值为这两个字符权值的乘积。问对于 r = 0, 1, 2, … , n - 1,统计出有多少种方法可以选出 2 个“r 相似”的字符,并回答选择 2 个”r 相似”的字符可以得到的权值的最大值。原创 2017-12-25 21:03:09 · 208 阅读 · 0 评论 -
[JZOJ3648]【GDOI2014】beyond
Description 对于100% 的数据,1 <= N <= 2,000,000Solution题目大意g给出两个字符串A,B,要求找到最大的L,使A和B长度为L的前缀循环同构分析设exA[i]表示a[i~n]与b的lcp长度。extB[i]同理在A中枚举循环的开头i 那么我们需要找到一个最大的j,使得1<=j<=exA[i]+1,且exB[j]>=i线段树二分之类的当然可以做,但是Nl原创 2017-11-23 15:55:56 · 386 阅读 · 0 评论 -
[JZOJ5177]【NOIP2017提高组模拟6.28】TRAVEL
Description Solution显然,答案的L和R一定是某两个边权那么可以直接把边按R排序。 枚举L,二分R 判断所有的边是否合法,合法的用并查集连起来 判断1和N是否在一个集合中即可Code#include <cstdlib>#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#原创 2017-07-04 21:38:33 · 403 阅读 · 0 评论 -
[JZOJ3809] 设备塔
Description 为了封印辉之环,古代塞姆利亚大陆的人民在异空间中建造了一座设备塔。 简单的说,这座设备塔是一个漂浮在异空间中的圆柱体,圆柱体两头的圆是计算核心,而侧面则是 传输信息所用的数据通道,划分成N *m 个区块。 然而,随着工作的继续进行,他们希望把侧面的一部分区块也改造成其他模块。然而,任何时候都 必须保证存在一条数据通道,能从圆柱体的一端通向另一端。原创 2017-01-04 12:51:29 · 406 阅读 · 0 评论 -
[JZOJ6152] Endless【并查集】【SA】【ST表】
DescriptionT组数据,T≤10000,∑n≤300000T\leq 10000,\sum n\leq 300000T≤10000,∑n≤300000Solution先考虑怎么把这些平方串弄出来这似乎是一个很经典的套路了(WC2019的时候好像讲了)枚举平方串的长度为2L,那么我们在L,2L,3L…的位置设置关键点,用SA或者二分+哈希求出相邻关键点的最长公共前缀和最长公共后缀...原创 2019-04-29 21:55:02 · 298 阅读 · 0 评论