" HDU 2196 Computer" ~~经发现~~ ,答案就是到直径2个端点距离的较大值。然后先搞出直径,再从直径2端分别开始,求出每个点与它的距离,取较大值。 ...
分类:
其他好文 时间:
2020-02-25 14:50:25
阅读次数:
60
分析: 本题最重要的是通过向量的想法来解决这一类关系,这样思维难度大大降低,首先我们明白一点 根据传递性的定义(也就是离散数学中的传递性),x->y =x->z+z>y 我们要知道的一点是,并查集中的题目都是有传递性的,而传递性的题目并不一定能通过并查集解决 我们知道我们要将两个不同的集合合并,就是 ...
分类:
其他好文 时间:
2020-02-25 12:33:11
阅读次数:
65
这道理重要的想法就是利用并查集缩点,将所有相等的点缩成同一个点 因为如果不缩点,那么如果两个数相等,其他的数与他们中任意一个数有关系,就需要把相等的数的关系也都连上,也就是加边。这样十分复杂 我们又可以发现,如果缩点,因为每个点本身有rp值,所以缩成的点能排序的话,原先也可以。就是基于这个原理证明的 ...
分类:
其他好文 时间:
2020-02-24 20:39:58
阅读次数:
68
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题目大意: 多组数据,一个n和一个n个元素的序列,找到和最大的严格上升子序列 思路: 和严格上升序列有点像,不过dp数组dp[i]变成以i为结尾的序列的最大值。 就是需要对于每一个i维护一个小于这 ...
分类:
其他好文 时间:
2020-02-24 18:18:35
阅读次数:
52
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4003 题意: 给一棵n个节点的树, 节点编号为1~n, 每条边都有一个花费值. 有k个机器人从S点出发, 问让机器人遍历所有边,最少花费值多少? 思路: 用f(i, j)表示子树i用j个机器人的最少花费 ...
分类:
Web程序 时间:
2020-02-23 22:02:38
阅读次数:
86
二分搜索树 6-1 为什么要研究树结构 树结构 为什么要有树结构? 树结构本身是一种天然的组织结构 高效 将数据使用树结构存储后,出奇的高效。 二分搜索树(Binary Search Tree) 平衡二叉树:AVL;红黑树 堆;并查集 线段树;Trie(字典树,前缀树) 6-2 二分搜索树基础 和链 ...
分类:
其他好文 时间:
2020-02-23 20:26:55
阅读次数:
82
一、技术总结 1. 这是一道并查集的题目,这里无非就是明白题目的含义,然后将套路用上基本上问题不大。 2. 一个是father数组用于存储父亲结点,isRoot用于存储根结点,如果题目需要,还可以建立一个course数组,用于存储,例如这个题目就是用于判断该该兴趣是否有人涉及。 3. findFat ...
分类:
其他好文 时间:
2020-02-23 16:27:02
阅读次数:
68
PAT 甲级 Advanced 1034 Head of a Gang (30) [图的遍历,BFS,DFS,并查集] ...
分类:
其他好文 时间:
2020-02-23 11:43:41
阅读次数:
55
有一个 $n \times m$ 矩阵,初态下全是 $0$。 如果两个相邻元素(四连通)相等,我们就说它们是连通的,且这种关系可以传递。 有 $q$ 次操作,每次指定一个位置 $(x_i,y_i)$ 把它替换为 $c_i$。 每次操作后求这个矩阵有多少个连通块。 $q \leq 2\times 10 ...
分类:
其他好文 时间:
2020-02-23 11:33:53
阅读次数:
68
一、并查集的定义 1. 并查集是一种维护集合的数据结构,它的名字中“并”、“查”、“集”。分别取自Union(合并)、Find(查找)、Set(集合)。 合并:就是合并两个集合 查找:判断两个元素是否在一个集合 那么并查集是用什么实现的,就是一个数组, 对于同一个集合来说只存在一个根结点,且将其作为 ...
分类:
其他好文 时间:
2020-02-23 00:08:03
阅读次数:
94