摘要:
原题链接 启发式思考 替换的过程,可以看成数组 内部的流动,既然是流动,我们可以用图来表示这种流动 经过样例测试发现,这样的图,每个节点最多有一个入度,但可以有多个出度,很像树,但是又存在环 感知一下,每一次替换,都是父节点的值赋给子节点,因此,k次替换后,该节点的值就是第 阅读全文
摘要:
原题链接 题解 首先是朴素解法,每次遍历 然后查看 每个数的平方根是否是其前缀 时间复杂度 这里有两个数,一个是 ,即一个整数,一个是 ,是 的平方根,因此我们可以换一个视角. 统计对于每一个整数 \ 阅读全文
摘要:
原题链接 题意 对于有相同颜色传送门的城市 ,可以花 的代价从 或 问从城市 的最小代价,或者报告无法到达 分析 对于无法到达的情况,很简单,用并查集维护即可 而对于可以到达的情况,我们发现,两座城 阅读全文
摘要:
原题链接 题解 什么情况下,答案为 -1 ? --两座城市没有任何直接或间接的传送门相连 所以如果我们把所有能通过传送门互相到达的城市放入一个集合,那么输出 -1 代表这两个城市不在一个集合里 不能相互到达的问题解决了,能相互到达的城市,cost 是多少? 阅读全文
摘要:
原题链接 这个题解写的很好 阅读全文
摘要:
原题链接 题解 方法一: 双重循环, 方法二: 顺序遍历 ,然后查找目前所有比 小的数,这是一个比较经典的树状数组的运用 时间复杂度 考虑优化,由于 可以达到 ,而 只有 \(4e5 阅读全文
摘要:
原题链接 题解 1.暴力想法:维护n个集合,每次合并,遍历两个集合,最坏时间复杂度 2.优化想法:两个集合合并后,我们只需要查询大集合的大小,因此,我们可以只遍历两个集合中较小的那个 然后莫名发现竟然过了,我们上网查了一下,发现这种方法叫做启发 阅读全文