并查集
文章平均质量分 75
kma_093
山高水闊 苦海無涯
展开
-
[NOI2002] 银河英雄传说
题目链接: 点我 题目分析: 带权并查集的题,记一个\(d\)数组维护每个战舰前面有多少战舰,再在每个树根上记录一个集合大小\(sum\),每次进行\(get_father\)的时候维护一下\(d\)数组,合并的时候更新集合大小。由于写了路径压缩,每次合并的时候还要把之前集合的\(sum\)更新到\(d\)数组上。 代码: #include<bits/stdc++.h> #...原创 2019-01-28 00:29:00 · 66 阅读 · 0 评论 -
[SCOI2016] 萌萌哒
题目链接: 传送门 题目分析: 一道并查集好题 首先考虑暴力思路:由于每次给定区间内的数字要一一相等,把每个数字看成一个点,需要相等的数字就可以合并成一个点,用并查集维护 最后计算独立集合的个数,答案为\(9*10^{k-1}\)(首位不为1,只有9种选择) 上述思路复杂度是\(O(nm)\)的,显然跑不过,考虑优化 由数据范围想到\(log\)级别的算法,考虑倍增,以\(ST\)表的思路优...原创 2019-05-04 10:21:00 · 112 阅读 · 0 评论 -
洛谷p1955[NOI2015]程序自动分析
题目: 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x4≠x1,这些约束条件显然是不...原创 2018-11-09 00:02:00 · 65 阅读 · 0 评论 -
[洛谷P4185] [USACO18JAN]MooTube
题目链接: 传送门 题意: 给定一颗N个节点的树,定义两点距离为他们之间路径中边权最小值。 Q次询问K,V,询问到V距离>=K的点有多少(不含V) 呃呃呃呃考试的时候直奔了T3,结果公式推挂了(。。)最后5min回来搞T1,看出了正解然而手速跟不上…… 分析: 把所有的询问先离线下来存在一个结构体里并记录顺序(以便输出),然后分别把边和询问按w和k从大到小排序 用一个循环扫询...原创 2019-01-26 15:45:00 · 101 阅读 · 0 评论