随笔分类 - 并查集
摘要:题目大意:有一张无向无权图,求每一时刻图中每个点的度数大于零且都是偶数的子图的个数对1000000009取模的值。此处子图 (V, E) 定义为:点集V和边集E都是原图的任意子集,其中E中的边的端点都在V中。思路:由于每一时刻都要输出,所以DFS肯定是不行的,像 连通...
阅读全文
摘要:题目大意: 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现...
阅读全文
摘要:题目大意: 思路: 并查集 一开始以为是DFS,但是看到每次都要输出联通块的个数,就感觉不对。 可以把相邻的同颜色的块看作同一祖先的块,用sum记录现在有多少个联通块。代码:#include #include using namespace std;int n,m,...
阅读全文
摘要:题目大意: 现在有n件商品,其中m组买了一个就必须买另外一个。求k元钱的最大价值。思路:如果没有第二句话就是一个普通的01背包。既然这样,那这道题是否可以转换为01背包呢?答案很明显是可以的。可以利用并查集,将这m组配对购买的商品划到一个集合里,这样就可以确定买了其中...
阅读全文
摘要:题目大意: 求最小生成树。思路: emm。。。 这道题跟 ->戳我#include #include #include using namespace std;int father[1001],n,k,o;double x[1001],y[1001],sum;stru...
阅读全文
摘要:题目大意: 你知道你的大学里有N个学生。每个人都信仰宗教,你向每个学生请教他们的宗教信仰是不可行的。避免这些问题的一种方法是问M对学生,问他们是否相信同一宗教。从这些数据中,你可能不知道每个人都相信什么,但你可以了解在校园里可能有多少不同宗教的上限。你可以假设每个学生...
阅读全文
摘要:题目大意: 为了防止SARS传染,最好的策略是将患病者与其他人分开。 在一个学校中,有很多学生群体。在同一组的学生相互联系频繁,和一个学生可以参加几组。为防止SARS传染,学校收集所有学生团体的成员列表,并在他们的规则的标准操作程序。 一旦某一组中的某一成员是患病者,...
阅读全文
摘要:题目大意: 求出最小生成树。思路: 这道题有两种方法: (1)最小生成树 (2)并查集最小生成树:数据nusing namespace std;int a[5001][5001],n,b[5001],k,sum,minn,c[5001];int main(){ ...
阅读全文
摘要:题目大意: 两个人分别在s和e这两个点上,已知两人可以同时行走,且他们的相遇地必须是一个点(不能在路上相遇),那么他们最短相遇时间是多少?思路: 这道题很明显是一道并查集+最短路问题。先用并查集求出两点之间是否有通路,再跑两次dij,枚举每一个点,求出他们两人中用时较...
阅读全文

浙公网安备 33010602011771号