摘要:
# [1001 Alice Game](http://acm.hdu.edu.cn/showproblem.php?pid=7287) ## 题意:n个排成一排的怪物,每次可以进行两种操作 ## 1.消除长度小于等于k的连续怪物序列 ## 2.消除长度等于k的连续怪物序列并要求两边的怪物序列不为空 阅读全文
摘要:
啊 阅读全文
摘要:
# [1001 Hide-And-Seek Game](http://acm.hdu.edu.cn/showproblem.php?pid=7275) ## 题意:给出一颗树,两人在树上特定两点来回走,问最早在那个节点相遇 ## 思路:枚举所有点,看它是否同时在两条链上,如果在,那么结合周期、两人最 阅读全文
摘要:
# [A-Almost Correct](https://ac.nowcoder.com/acm/contest/57355/A) ## 题意:01序列,每次可以选择 , 使得这两个位置有序,求一种方法使得除了该序列之外的其他序列均可排有序的方法 ## 思路:首先,需要完全排好任意随 阅读全文
摘要:
# 最小生成树 ## 定义 * 边权和最小的生成树 ## Kruskal 算法 * 让边从小到大排序,如果不在同一集合,就加入 ```c++ #include using namespace std; const int MAXN = 5e3 + 10,MAXM = 2e5 + 10; int n, 阅读全文
摘要:
# 基环树 ## 简单无向图有n个点n-1条边,那么它们会连成一条直线 ## n个点n条边,相对多一条边,有且仅有一个环 ## 可以利用拓扑排序找这个环 ### 例题:[F - Well-defined Path Queries on a Namori](https://atcoder.jp/con 阅读全文
摘要:
# 最近公共祖先(LCA) ## 主要思路:一个节点的 的祖先是那个节点 的祖先的 的祖先 ## 也就是说 ## 还要计算 的值,记录深度 ```c++ #include using names 阅读全文
摘要:
# 二分图(二部图) ## 概念:可分为两个集合,集合内的点无边相连的图 ### 判定:染色法 ```c++ int col[MAXN]; vector ed[MAXN]; bool bfs(){ col[1] = 1; queue qu; while(!qu.empty()){ int u = q 阅读全文
摘要:
# 差分约束 ## 对于形如: 阅读全文
摘要:
# 次小生成树 ## 定义:边权之和大于最小生成树边权之和的生成树中最小的一个 ## 思路:枚举所有未连接的边连上,那么一定会出现一个环,再去掉环上最大的边(如果与新加的边等大就要去次小边),这个最小值就为次小生成树的值 ## 朴素求法:先用kruskal求出最小生成树,然后从每个点开始找到其他点的 阅读全文