传送门 肯定是最短路 而且题目有限制,不存在负环 所以可以跑堆优化的Dijkstra 但是因为有负边权,所以跑得很慢 这时可以利用题目的条件 每个联通块内是没有负边权的 所以可以优先处理单个块之内的最短路 这样一个块一个块地处理 可以跑得很快 可以用Tarjan处理每个点所在的联通块 代码: 后话: ...
分类:
其他好文 时间:
2018-09-25 14:06:07
阅读次数:
199
题目大意:给你一个N*N的棋盘,棋盘上每个点都有一个权值 第一问求一个权值形成的最大联通块中点的数量 第一问求两个权值共同形成的最大联通块中点的数量 提供一种并查集的做法:(感谢大佬们的题解)第一问把所有相同权值的相邻的点用带权并查集合并一下就OK了 第二问,就需要一些骚操作了 我们的目的是把两个不 ...
分类:
其他好文 时间:
2018-09-24 23:18:17
阅读次数:
189
Description Solution 将(u,v,l,r)换为(1,u,v,l)和(2,u,v,r)。进行排序(第4个数为第一关键字,第1个数为第二关键字)。用LCT维护联通块的合并和断开。(维护联通块的大小,要维护虚边) 答案统计:每当四元组的第一个数为1(这时候合并点u,v所在连通块,反之拆 ...
分类:
其他好文 时间:
2018-09-24 18:56:12
阅读次数:
150
一、题目 输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符所在的格子相邻(横、竖、或者对角线方向),就说它们属于同一个八连块。 二、解题思路 和前面的二叉树遍历类似,图也有DFS和BFS遍历。由于DFS更容易编写,一般用DFS找联通块:从每个“@”格子出发,递归遍历与之相邻的 ...
分类:
移动开发 时间:
2018-09-16 16:14:10
阅读次数:
231
一、题目(CF 598D) 输入一个n x m的字符矩阵,求从某个空点出发,能碰到多少面墙壁,总共询问k次。(3 ≤m,n ≤1000,1 ≤ k ≤ min(nm,100 000)) 二、解题思路 用DFS找连通分量:从每个“.”格子出发,递归遍历与之相邻的“*”格子,且写上相同的联通分量(即代码 ...
分类:
移动开发 时间:
2018-09-16 15:52:07
阅读次数:
261
https://www.luogu.org/problemnew/show/P2664 考虑对于每种颜色包含的点和这些点的子节点建出虚树,发现只要将一个联通块中的东西 Dp + 查分一下就行了 当然要考虑哪些东西要被加进去 如果把不是一个颜色的联通块放在一起加,里面就要算上 n 联通块大小的贡献(画 ...
分类:
其他好文 时间:
2018-09-12 20:14:39
阅读次数:
163
题目描述 "p1454 圣诞夜的极光" 题意概括: 寻找联通块数量,这里的连通块定义与其他的不同. 这里定义为 曼哈顿距离不超过2的都属于一个联通块 . 什么?不知道曼哈顿距离是啥? 曼哈顿距离简易概括 |x1 x2|+|y1 y2|,两点之间横纵坐标的差的绝对值之和. 详细解释 "曼哈顿距离" 分 ...
分类:
其他好文 时间:
2018-09-09 19:50:00
阅读次数:
161
思路:这个题的并查集用的好NB啊, 我们把伤害看成图上的点,武器作为边,对于一个联通块来说, 如果是一棵大小为k的树,那么这个联通块里面有k - 1个伤害能被取到,如果图上有环那么k个值都能 取到,对于是一颗树的情况,我们肯定让里面最大的不取,这个用并查集维护一下,每次合并将小的 伤害合到大的伤害上 ...
分类:
其他好文 时间:
2018-09-06 16:25:48
阅读次数:
163
题意: 有n门考试,每门考试都有两个时间,存在几门考试时间冲突,求考完所有的考试,所用的最后时间的最小值 解析: 对于时间冲突的考试 就是一个联通块 把每个考试看作边,两个时间看作点,那么时间冲突的考试即为一个连通块 对于一个连通块 1、如果边数等于点数 即为一个基环树,那么明显 这个连通块的最后时 ...
分类:
其他好文 时间:
2018-09-06 00:07:45
阅读次数:
208
传送门 这道题一开始看没什么头绪……之后觉得不妨把骑士向自己痛恨的那个人连一条边,那么我们好像就转化成了一个取父亲就不能取儿子这么一个操作。 非常的像那个没有上司的舞会。 不过这题有一些bug,就是在一些联通块中可能存在环。不过我们仔细想一下之后会发现,因为每个点的出度都是1,所以如果骑士之间的厌恶 ...
分类:
其他好文 时间:
2018-09-05 17:42:26
阅读次数:
154