1、disjoint set uion (别名: 并查集)
解释(1): https://zhuanlan.zhihu.com/p/93647900
练手题目A: https://www.luogu.com.cn/problem/P1551
练手题目B: https://www.luogu.com.cn/problem/P3958
练手题目C:
2、种类并查集
解释(1): https://zhuanlan.zhihu.com/p/97813717
练手题目A: https://www.luogu.com.cn/problem/P1525
练手题目B: https://www.luogu.com.cn/problem/P2024
练手题目C:
3、Fenwick Tree (别名: BIT、树状数组)
解释(1): https://cp-algorithms.com/data_structures/fenwick.html
练手题目A: https://acm.hdu.edu.cn/showproblem.php?pid=1166
练手题目B: https://www.luogu.com.cn/problem/P1908
练手题目C: https://codeforces.com/contest/849/problem/E
4、kmp (字符串匹配)
练手题目A: https://leetcode-cn.com/problems/implement-strstr
练手题目B:
练手题目C:
5、快速幂
练手题目A: https://leetcode-cn.com/problems/count-good-numbers
练手题目B: https://leetcode-cn.com/problems/powx-n
练手题目C:
6、滚动哈希
练手题目A: https://leetcode-cn.com/problems/longest-common-subpath
练手题目B:
练手题目C:
7、匈牙利算法 (二分图最大匹配,同样是二分图最小点覆盖)
练手题目A: https://leetcode-cn.com/problems/broken-board-dominoes
练手题目B: https://vijos.org/p/1204
练手题目C: https://www.luogu.com.cn/problem/P1129
8、马拉车算法 (最长回文子串)
练手题目A: https://leetcode-cn.com/problems/longest-palindromic-substring
练手题目B:
练手题目C:
9、差分约束 (涉及单源最短路径与单源最长路径)
解释(1): https://zhuanlan.zhihu.com/p/104764488
练手题目A: https://www.luogu.com.cn/problem/P5960
练手题目B: https://www.luogu.com.cn/problem/P1250
练手题目C:
1、求图中两个节点之间最短路径的总数目 (包含有权重与无权中两种情形)
解释(1): https://www.baeldung.com/cs/graph-number-of-shortest-paths#1-main-idea
练手题目A: https://atcoder.jp/contests/abc211/tasks/abc211_d
练手题目B:
练手题目C: