数据结构-并查集
Maxwei_wzj
AFO
展开
-
【NOI2001T1】食物链-并查集
【NOI2001T1】食物链-并查集原创 2016-08-12 09:15:09 · 1655 阅读 · 0 评论 -
【BZOJ5289】排列(HNOI&AHOI2018)-贪心+堆+并查集
测试地址:排列 做法:本题需要用到贪心+堆+并查集。 观察题目中的条件,实际上就是指aiaia_i不能出现在iii之前,也就是说,我们可以把问题看成选点,如果点iii是第TTT个选的,会获得TwiTwiTw_i的收益,并且aiaia_i不能比iii先取,求最大的收益。 如果没有限制条件,根据排序不等式,先取小的肯定是最优的,可是考虑限制后怎么办呢? 首先,如果约束条件形成了一个环,显然不可...原创 2018-05-04 10:25:18 · 255 阅读 · 0 评论 -
【BZOJ4569】萌萌哒(SCOI2016)-并查集+倍增
测试地址:萌萌哒 做法:本题需要用到并查集+倍增。 容易想到用并查集来维护相等的集合,因为首位不能为000,所以令集合数为sss,答案就是9×10s−19×10s−19\times 10^{s-1}。 但是维护单点的并查集太慢了,因为条件非常多,怎么办呢?这时候我们就要分析条件的性质了。两个区间内的元素一一相等,我们可以借助ST表的思想,把一个区间拆成前2x2x2^x位和后2x2x2^x位,...原创 2018-05-12 11:51:46 · 243 阅读 · 0 评论 -
【BZOJ4423】Bytehattan(AMPPZ2013)-对偶图+并查集
测试地址:Bytehattan 做法:本题需要用到对偶图+并查集。 因为是不断删边,而且强制在线,所以直接维护格点的连通性不现实。我们发现网格图是个平面图,所以对偶图的连通性应该和原图的连通性有关,于是我们从对偶图的角度去思考。 首先,在原图中是删边的操作,在对偶图中就是连边了,这个性质非常好。其次,我们询问的是每次删除的边的两个端点的连通性,有这样一个结论:如果在对偶图中加上这条边后,对偶...原创 2018-06-18 11:07:33 · 361 阅读 · 0 评论 -
【BZOJ4320】Homework-分块+并查集
测试地址:Homework 做法:本题需要用到分块+并查集。 看到取模,一般的数据结构肯定做不了,于是考虑对权值序列分块。 首先,当模数不超过n−−√n\sqrt n(nnn为最大数)时,我们显然可以开n−−√n\sqrt n个桶,每次插入暴力更新这些桶,这样答案就可以每次O(1)O(1)O(1)地求出了。 然后,当模数超过n−−√n\sqrt n时,它在nnn之内的倍数不超过n−−√n\...原创 2018-09-13 11:15:38 · 333 阅读 · 0 评论 -
【CF160D】Edges in MST-最小生成树+并查集
测试地址:Edges in MST 题目大意: 给定一个带权无向连通图,因为最小生成树不唯一,于是问每一条边是一定在最小生成树上,还是可能在最小生成树上,还是不可能在最小生成树上。 做法: 本题需要用到最小生成树+并查集。 这题挺神的。首先肯定需要构造出一棵最小生成树,那么树上的边的答案只有“一定”和“可能”两种,而不在树上的边的答案只有“可能”和“不可能”两种。 接下来先讨论非树边的答案。根据最...原创 2018-10-16 16:00:47 · 633 阅读 · 0 评论 -
【CF891C】Envy-最小生成树+虚树+并查集
测试地址:Envy 题目大意: 给定一个带权无向连通图,每次询问给出kik_iki条图中的边,问这些边能不能同时处在这个图的一棵最小生成树中。 做法: 本题需要用到最小生成树+虚树+并查集。 居然没看题解想出来了这道神题,非常开心。 首先,判断kkk条边是不是能同时在最小生成树中,实际上只要求出包含这些边的边权和最小的生成树的权值,再和最小生成树比对即可。 怎么求呢?首先把kkk条边先连上,形成...原创 2018-10-17 09:36:13 · 355 阅读 · 0 评论 -
【BZOJ4537】最小公倍数(HNOI2016)-分块+并查集启发式合并
测试地址:最小公倍数 做法:本题需要用到分块+并查集启发式合并。 脱去题目各种疑似数论的包装之后,我们发现实际上题目让你求的是:存不存在一条路径,使得路径上最大的aaa和最大的bbb分别为询问的AAA和BBB。显然如果只有一个询问的话,我们就把a≤Aa≤Aa\le A并且b≤Bb≤Bb\le B的边连起来,再用并查集维护联通块内最大的aaa和最大的bbb,如果询问的两个点连通并且最大的aaa和...原创 2018-05-02 17:55:43 · 259 阅读 · 0 评论 -
【BZOJ2333】棘手的操作(SCOI2011)-线段树+并查集+离线处理
测试地址:棘手的操作 做法:本题需要用到线段树+并查集+离线处理。 话说这题号还真喜庆……又据说这题原来是毒瘤数据结构,什么堆套左偏树之类……但是本蒟蒻从某大佬那里得到了离线做法的启示,所以就水了一发。 我们尝试构造一种点的排列方案,使得操作中涉及的所有连通块在排列中都是一个连续区间。这可以构造出来吗?当然可以!首先我们把每个点都看作一个区间,每当合并两个连通块,就是将两个区间放在一起,这个...原创 2018-03-01 23:42:49 · 241 阅读 · 0 评论 -
【NOI2002T1】银河英雄传说-并查集
【NOI2002T1】银河英雄传说-并查集原创 2016-08-12 09:41:27 · 661 阅读 · 0 评论 -
【TOJ1162】格子游戏-二维并查集判环
【TOJ1162】格子游戏-二维并查集判环原创 2016-08-12 10:20:41 · 592 阅读 · 0 评论 -
【Vijos-P1579】宿命的PSS-逆向Kruskal
【Vijos-P1579】宿命的PSS-逆向Kruskal原创 2016-08-12 15:08:29 · 761 阅读 · 0 评论 -
【APIO2008T2】免费道路-并查集+生成树
【APIO2008T2】免费道路-并查集+生成树原创 2016-08-12 15:20:14 · 449 阅读 · 0 评论 -
【NOI2015T1】程序自动分析-并查集+离散化
【NOI2015T1】程序自动分析-并查集+离散化原创 2017-03-13 09:48:01 · 358 阅读 · 0 评论 -
【APIO2011T1】方格染色-并查集+位运算推导
【APIO2011T1】方格染色-并查集+位运算推导原创 2017-04-07 17:51:02 · 410 阅读 · 0 评论 -
【HDU1512】Monkey King-左偏树+并查集(左偏树入门题)
【HDU1512】Monkey King-左偏树+并查集(左偏树入门题)原创 2017-03-16 17:40:47 · 500 阅读 · 0 评论 -
【BZOJ4199】品酒大会(NOI2015)-后缀数组+并查集
测试地址:品酒大会 做法:本题需要用到后缀数组+并查集。 不难想到,对题目所给的字符串构造后缀数组,那么后缀数组上两个后缀之间最小的heightheightheight就是这两杯酒满足的最大相似度。我们要求的,实际上是对于每个相似值kkk,对于后缀数组上heightheightheight大于等于kkk的边连接成的每个连续区间求出方案数和最大乘积,然后对方案数累加,对最大乘积取最大值。不难看出...原创 2018-03-08 21:28:28 · 298 阅读 · 0 评论