随笔分类 -  倍增

摘要:题目链接 首先这道题最暴力的想法就是给每个相同的字符在并查集上合并,最后暴力判断,但是这样复杂度是 $O(n^2)$ 会得到一个 TLE 。 由于并查集具有可以合并的性质,因此可以使用神奇的 倍增 。 对于一个长度为 $n$ 的回文串 $s$ 来说,如果我们复制一份原字符串到末尾,那么对于一个回文子 阅读全文
posted @ 2022-10-28 17:08 ccz9729 阅读(39) 评论(1) 推荐(0)
摘要:考虑最小瓶颈生成树的性质 因此我们可以直接在最小生成树上求 \(LCA\) 以及 路径上的边的最大值 #include <bits/stdc++.h> using namespace std; typedef long long ll; template <typename T> void chkm 阅读全文
posted @ 2022-04-26 21:18 ccz9729 阅读(94) 评论(0) 推荐(2)
摘要:跳转链接 题目大意 题目中要求的是从1号点到n号点所需要的最短时间, 一秒可以走 \(2^k\) 个距离 给定的有向图的边边权都是1. 问题分析 由于一秒可以走 \(2^k\) 个距离,因此题目转化为寻找两个点之间的距离为$2k$的点对,并把边权(代表时间)赋值为1, 由于给定边权(指路径长度)都是 阅读全文
posted @ 2021-09-18 10:57 ccz9729 阅读(33) 评论(0) 推荐(2)