摘要: 概念 最近公共祖先指两个节点在一棵树上深度最大的公共的祖先节点,即这两个点在这棵树上距离最近的公共祖先节点。 Tarjan 算法介绍 使用倍增思想和动态规划。 基本思路: 任选一个点为根节点,从根节点开始。 遍历该点 u 所有子节点 v ,并标记这些子节点 v 已被访问过。 若是 v 还有子节点,返 阅读全文
posted @ 2026-07-20 21:18 宰杀方向盘 阅读(1) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; const int N = 1e5+10; int n, m, r, p, w[N]; int tot, h[N], e[2*N], nxt[2*N]; void add(int u, int v){ nxt[ 阅读全文
posted @ 2026-07-20 21:17 宰杀方向盘 阅读(1) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; const int N = 1e7; int n, top = 1; struct Node{ int lc = 0, rc = 0, s = 0; } tr[N]; void pushup(int u){ t 阅读全文
posted @ 2026-07-20 21:17 宰杀方向盘 阅读(1) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; const int N = 4e5+10; int n, idx, Y[2*N]; struct line{ long long o, u, z; int b; bool operator < (line x) 阅读全文
posted @ 2026-07-20 21:16 宰杀方向盘 阅读(1) 评论(0) 推荐(0)
摘要: 基于trie和kmp fail指针 学习过程: oi wiki理解思路,听y总讲代码 模板一:acwing代码过不去,是要在求答案时跳fail的时候,打标记,每个点只走一次 模板二:连trie图 模板三:拓扑序求答案,拓扑排序不用单独写,build里顺手求一下就可以 阿狸打字机:理解fail树的思路 阅读全文
posted @ 2026-07-20 21:15 宰杀方向盘 阅读(2) 评论(0) 推荐(0)
摘要: 感觉是一道很巧妙的题。 首先,由于仅当 \(m = n\) 时异或值为 \(0\),所以对于 \(m < n\) 的情况,一定无法异或得出 \(0\),故答案为 \(0\)。 接下来考虑其他情况,本题题意相当于构造一个自然数 \(k\),使得 \(k > m\) 且 \(k \oplus n\) 最 阅读全文
posted @ 2026-07-20 21:14 宰杀方向盘 阅读(2) 评论(0) 推荐(0)
摘要: CSP2025 has finished. NOIP2025 is coming. 本次考试整体状态不佳—— J $100+100+100+64 = 364pts $ 1= HL rk5 不考虑串考场导致的时间差,T1+T2 30min AC T3用了30min思考dp, 思考失败 忽然灵光乍现,贪 阅读全文
posted @ 2026-07-20 12:54 宰杀方向盘 阅读(10) 评论(0) 推荐(0)