
并查集
z岁月无声
这个作者很懒,什么都没留下…
展开
-
HDU-1506.Largest Rectangle in a Histogram
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1506思路:并查集 || 单调栈思路一、并查集:首先对数组以b[]={值,下标}结构按照从小到大排序,然后从大的开始处理,对于b[i]={val,id}, 比较其id位置左右相邻的值是否大于等于val,若大于等于则将其合并成一个集合,同时记录其集合中元素的个数s,那么当前元素的最大值为 val*s,res取所有元素的最大值即可。思路二、单调栈:遍历数组,维护单调递增栈,对于当前元素x,其左边元素x0,当x0&.原创 2020-11-28 20:55:40 · 229 阅读 · 0 评论 -
Codeforces Round #582 (Div. 3)-G. Path Queries
地址:http://codeforces.com/contest/1213/problem/G思路:并查集+离线查询对于m个查询,先将其由小到大排序,这样就能保证后面的答案一定包含前面的答案。再将所有边按照权值wi由小到大排序,对于第i小的查询ti,将wi<ti的边合并,其边所贡献的答案为 边两边所在集合的乘积 d[a]*d[b]Code:#include<i...原创 2019-09-06 13:30:31 · 189 阅读 · 0 评论 -
长春理工大学第十四届程序设计竞赛(重现赛)-K-
链接:https://ac.nowcoder.com/acm/contest/912/A来源:牛客网时间限制:C/C++ 5秒,其他语言10秒空间限制:C/C++ 102400K,其他语言204800K64bit IO Format: %lld题目描述垃圾小x经常在机房丢垃圾,比如奶茶杯子、用过的湿巾纸、吃完的零食包装等。可是训练的桌子上放了电脑,实在放不下小x丢的...原创 2019-06-08 17:18:20 · 421 阅读 · 0 评论 -
“美登杯”上海市高校大学生程序设计邀请赛 (华东理工大学)-C. 小花梨判连通
地址:https://acm.ecnu.edu.cn/contest/173/problem/C/思路:并查集+map,对于k个图的连通块进行染色(并查集),若两点在k个图中染色都相同,那么这两点就是连通的。 即用并查集处理k个图的点的连通情况,因此将每个点在k个图中的父节点存在 d[i]中,用map存下d[i]出现的次数即可Code:#include<iostream&g...原创 2019-05-23 15:09:31 · 234 阅读 · 0 评论 -
计蒜客-2019 蓝桥杯国赛 B 组模拟赛-蒜头图
思路:大佬博客-https://www.cnblogs.com/fisherss/p/10857705.html#idx_4看完觉得有道理,但还是不太明白orz实际上就是问图里有多少个环,计环的个数为 k,则结果为2^k-1。30% 状态压缩选出边,判断所选的边是否构成环100% 并查集统计环的数量,使用并查集每次询问只需要判断这两点之前是否连通就可以了,为什么结果是2^k-1...原创 2019-05-22 14:48:48 · 259 阅读 · 0 评论 -
牛客-“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛-E CSL 的魔法
链接:https://ac.nowcoder.com/acm/contest/551/E来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述有两个长度为 n 的序列,a0,a1,…,an−1a0,a1,…,an−1和 b0,b1,…,bn−1b0,b1,…,bn−1...原创 2019-04-02 22:36:50 · 271 阅读 · 0 评论 -
HDU-1325 Is It A Tree?
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1325思路:DFS/并查集 对比AC的代码交了40多遍,心态搞炸,结果发现是输入u<0,v<0时退出而不是==-1,ヽ(`Д´)ノ︵ ┻━┻ ┻━┻思路一:DFS,首先判断是否只有一个根节点,再DFS来判断是否有环路,以及有多个块思路二:并查集,1.判断环路Find(u)==F...原创 2019-03-22 23:12:18 · 230 阅读 · 0 评论 -
POJ-2513-Colored Sticks
地址:http://poj.org/problem?id=2513思路:可以用map将所有颜色编号并记录每种颜色的个数,由欧拉回路知,每个颜色个数为奇数的个数>2时就不成立,再利用并查集判断是否在同一个集合即可。Code :#include<iostream>#include<map>using namespace std;const int...原创 2018-08-30 11:57:45 · 288 阅读 · 0 评论 -
牛客-牛客练习赛24-B 凤 凰
链接:https://www.nowcoder.com/acm/contest/157/B来源:牛客网 题目描述 凤凰于飞,翙翙其羽,亦集爰止。 ——《诗经·卷阿》 传说,凤凰是百鸟之王。有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的树,每个节点有一只鸟,开会的节点定在1号节点。...原创 2018-08-17 17:34:00 · 442 阅读 · 0 评论 -
Educational Codeforces Round 49 (Rated for Div. 2)-D. Mouse Hunt
思路:此题为一个图,由样例不难推出对于最小花费应该是每个树的根节点值和环的最小节点值,因此对于树的根节点可以用并查集来求得,而对于环,可以先用拓扑排序将环找出来,在DFS查找环的最小节点值即可Code :#include<iostream>#include<vector>#include<stack>using namespace std;...原创 2018-08-19 18:41:11 · 272 阅读 · 0 评论 -
2018 “百度之星”程序设计大赛 - 初赛(B)-1001 degree
思路:对于入度最多的点即边最多的点,首先找到边最多的点,ans=边数。然后利用并查集求出区域块的个数s,对于除自己所在的区域块可以直接连一条边,ans=ans+s-1,然后再连一个点的话就需要消一条边以防止有环,ans=ans+k,还需要判断其不能大于n-1.Code :#include<iostream>#include<algorithm>#inclu...原创 2018-08-12 23:28:43 · 303 阅读 · 0 评论 -
51nod-1163 最高的奖励
1163 最高的奖励 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。Input第1行:...原创 2018-07-25 15:56:33 · 265 阅读 · 0 评论 -
51nod-1562 玻璃切割
1562 玻璃切割 题目来源: CodeForces基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注现在有一块玻璃,是长方形的(w 毫米× h 毫米),现在要对他进行切割。切割的方向有两种,横向和纵向。每一次切割之后就会有若干块玻璃被分成两块更小的玻璃。在切割之后玻璃不会被移动。现在想知道每次切割之后面积最大的一块玻璃是多少。样例解释:对于第四次切...原创 2018-05-04 21:30:30 · 305 阅读 · 0 评论 -
51nod-1557 两个集合
1557 两个集合思路:暴力搜索判断,两年前写的自己都看不懂了。。。Code:#include<iostream>#include<algorithm>using namespace std;const int MAX_N=100005;int n,a,b;int c[MAX_N];int d[MAX_N]...原创 2018-04-13 23:43:44 · 314 阅读 · 1 评论 -
51nod-1307 绳子与重物
1307 绳子与重物 题目来源: Codility基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注有N条绳子编号 0 至 N - 1,每条绳子后面栓了一个重物重量为Wi,绳子的最大负重为Ci。每条绳子或挂在别的绳子下或直接挂在钩子上(编号-1)。如果绳子下所有重物的重量大于绳子的最大负重就会断掉(等于不会断)。依次给出每条绳子的负重Ci、重物的重量Wi...原创 2018-04-12 21:51:34 · 329 阅读 · 0 评论 -
HDU-1829-A Bug's Life
A Bug's LifeTime Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 17337 Accepted Submission(s): 5553Problem DescriptionBackground Professor Hopper...原创 2017-12-22 12:25:38 · 292 阅读 · 0 评论 -
CODEVS-1074-食物链
1074 食物链 2001年NOI全国竞赛时间限制: 3 s空间限制: 64000 KB题目等级 : 钻石 Diamond题解题目描述 Description动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N...原创 2017-12-05 19:23:14 · 324 阅读 · 0 评论 -
51Nod-1276-岛屿的数量
1276 岛屿的数量题目来源: Codility基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注有N个岛连在一起形成了一个大的岛屿,如果海平面上升超过某些岛的高度时,则这个岛会被淹没。原本的大岛屿则会分为多个小岛屿,如果海平面一直上升,则所有岛都会被淹没在水下。给出N个岛的高度。然原创 2017-11-02 09:15:30 · 408 阅读 · 0 评论