摘要: 61.Deck 直接使用 deque 模拟即可。 62.Paint All 考虑建图。\(x\rightarrow y\) 表示 \(x\) 要在 \(y\) 后面涂黑。考虑一个点能作为最后一个涂黑的点当且仅当他的要求里有一个是自己,于是把这种点入队。最后看能不能跑到所有点即可。 63.Monoch 阅读全文
posted @ 2024-11-06 16:05 zxh923 阅读(170) 评论(0) 推荐(0)
摘要: 31.VS AtCoder 考虑 sg 函数,每次异或上 \((w_i,b_i)\) 的 sg 函数看最后是不是 \(0\) 即可。注意 \(b\) 那一位的上界为 \(1500\) 而不是 \(50\)。 32.AtCoder Ekiden 考虑全排列枚举跑步顺序并判断不合法即可。 33.Not 阅读全文
posted @ 2024-11-01 13:06 zxh923 阅读(254) 评论(0) 推荐(0)
摘要: 1.Yokan Party 不难考虑到二分答案,check 函数只需使用贪心,如果当前段能选就选即可,最后判断段数是不是大于等于 \(k+1\)。 2.Encyclopedia of Parentheses 考虑暴力枚举每一位,然后线性判断括号串是否合法,把合法的括号串排个序输出即可。 判断方法:初 阅读全文
posted @ 2024-10-30 08:39 zxh923 阅读(159) 评论(0) 推荐(1)
摘要: A.带余除法 我们不难考虑找出 \(q\) 的上下界,不难发现范围是 \([\lfloor\frac{n}{k+1}\rfloor+1,\lfloor\frac{n}{k}\rfloor]\)。当然这个区间可能为空。只需算出区间长度即可。 B.奖牌排序 不难考虑到分别按照三个关键字排序,然后对于每个 阅读全文
posted @ 2024-10-15 15:53 zxh923 阅读(28) 评论(0) 推荐(0)
摘要: T1 题意简述:给定一个序列 \(a\),每次将当前 \(a\) 的第一个元素加入 \(b\) 的末尾然后翻转 \(b\),然后删除 \(a\) 的第一个元素,求最后的 \(b\) 是什么。\(n\le 10^6\)。 考虑模拟一下这个过程,发现就是奇数次向最后添加,偶数次向开头添加,最后再翻转 \ 阅读全文
posted @ 2024-10-07 20:04 zxh923 阅读(28) 评论(0) 推荐(0)
摘要: 正在收集…… 阅读全文
posted @ 2024-09-25 17:37 zxh923 阅读(22) 评论(0) 推荐(0)
摘要: \(LCT\),全称 \(Link\) \(Cut\) \(Tree\),可以解决动态树问题。 首先要知道一条虚边连接了 \(2\) 个 \(splay\),而这些 \(splay\) 构成了 \(LCT\)。 动态树(LCT) \(isroot\) 操作 如果一个点不是根,则考虑它既不是父亲的左儿 阅读全文
posted @ 2024-09-18 20:04 zxh923 阅读(93) 评论(0) 推荐(0)
摘要: 边双连通分量 我们首先定义两种边:返祖边为从一个点指向其祖先的边;横叉边从某个点指向树中另一个子树中的点的边。两者统称为非树边。而剩下的边即为树边,树边也就是再搜索树上的边。 考虑设 \(dfn_i\) 为点 \(i\) 是第几个被搜索到的,\(low_i\) 表示点 \(i\) 通过走若干条边之后 阅读全文
posted @ 2024-09-13 16:58 zxh923 阅读(28) 评论(0) 推荐(0)
摘要: 强连通分量 我们首先定义两种边:返祖边为从一个点指向其祖先的边;横叉边从某个点指向树中另一个子树中的点的边。两者统称为非树边。而剩下的边即为树边,树边也就是再搜索树上的边。 我们定义 \(dfn_i\) 为 \(i\) 是第几个被 \(dfs\) 到的,\(low_i\) 从 \(i\) 出发走任意 阅读全文
posted @ 2024-09-13 09:23 zxh923 阅读(37) 评论(0) 推荐(0)
摘要: 全源最短路模板 Floyd 我们设 \(f_{i,j}\) 表示 \(i\) 到 \(j\) 的最短路,于是我们枚举中转点 \(k\),就有 \(f_{i,j}\leftarrow\min(f_{i,j},f_{i,k}+f_{k,j})\)。 于是简单枚举一下进行转移即可,时间复杂度 \(O(n^ 阅读全文
posted @ 2024-09-12 11:49 zxh923 阅读(28) 评论(0) 推荐(0)