摘要: 题目链接:https://www.acwing.com/problem/content/description/241/ 并查集的一个重要功能就是动态维护具有传递性的关系, 比如:相等,奇偶性等等 如果传递关系只有一种,比如相等,那就使用普通的并查集来维护即可 如果传递关系不只有一种,比如本题的奇偶 阅读全文
posted @ 2020-11-10 23:06 Tartarus_li 阅读(135) 评论(0) 推荐(0) 编辑
摘要: https://www.acwing.com/problem/content/240/ 除了位于哪个集合的$fa[i]$之外,还要维护一个$dis[i]$,表示该元素在当前集合的深度 路径压缩的时候,沿途更新之前合并过去的元素的$dis$, 同时还要维护集合的大小$sz$, 用于更新$dis$ #i 阅读全文
posted @ 2020-11-10 20:44 Tartarus_li 阅读(54) 评论(0) 推荐(0) 编辑
摘要: https://www.acwing.com/problem/content/239/ 离线,离散化 \(i,j\) 的编号, 先处理 \(x_i = x_j\) 的操作,将 \(i,j\) 合并, 再查询 \(x_i = x_j\) 的操作,看 \(i,j\) 是否在同一个集合里 #include 阅读全文
posted @ 2020-11-10 16:53 Tartarus_li 阅读(72) 评论(0) 推荐(0) 编辑
摘要: https://www.acwing.com/problem/content/173/ 折半搜索经典题目 按重量从大到小排序搜索 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cm 阅读全文
posted @ 2020-11-10 16:11 Tartarus_li 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/170/ 剪枝剪枝剪枝。。 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cmath> #i 阅读全文
posted @ 2020-11-10 14:52 Tartarus_li 阅读(85) 评论(0) 推荐(0) 编辑
摘要: https://www.acwing.com/problem/content/description/169/ 剪枝剪枝还是剪枝 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cm 阅读全文
posted @ 2020-11-10 00:22 Tartarus_li 阅读(87) 评论(0) 推荐(0) 编辑