摘要: Solution \(N\le 500\),我们需要 \(O(N^3)\) 的算法。 直接状压 dp 至少 \(O(2^N)\),我们一定有大量最优解的性质没有找到。 为了方便,约定一个州有三种状态: B 类点:演讲至 \(B_i\) 小时,同时获得选票和协作者。 A 类点:演讲至 \(A_i\) 阅读全文
posted @ 2026-10-03 21:47 xiaoniu142857 阅读(24) 评论(0) 推荐(0)
摘要: 约定记号 \(\operatorname{popcnt(s)}\):01 串 \(s\) 中 1 的个数 对于 01 串 \(s,t\):\(s\subseteq t\Longleftrightarrow s\operatorname{and} t=s\) 题目 给定正整数 \(n\ge 5\),设 阅读全文
posted @ 2026-09-23 21:25 xiaoniu142857 阅读(19) 评论(0) 推荐(0)
摘要: Solution 我们从小到大依次枚举值 \(x\) 并将所有 \(x\) 插入序列。初始时序列为空。 设当前值为 \(x\) 的数出现了 \(y\) 次。由于目前序列里所有数都 \(<x\),我们一定会在当前序列的第 \(x\) 位后插入 \(y\) 个 \(x\)。如果答案序列长度不够则一定无解 阅读全文
posted @ 2026-08-19 13:15 xiaoniu142857 阅读(6) 评论(0) 推荐(0)
摘要: Solution 首先考虑 \(dist\) 的本质是什么。 显然有用的交换只有 01 和 10。这可以看成不断移动 \(S\) 中的 1。由于不交换 11,1 的相对顺序保持不变。 设 \(S\) 中 1 的位置为 \(s_1<s_2<\dots<s_n\),\(T\) 中 1 的位置为 \(t_ 阅读全文
posted @ 2026-08-19 12:58 xiaoniu142857 阅读(21) 评论(0) 推荐(0)
摘要: Solution 对于一个字符串 \(S\),设最优解中被删除的字符按原顺序依次拼接得到的字符串 \(T\) 为 \(S\) 的最优导出串。 我们先考虑最优导出串必然满足的结构。将每个删除的字符串(e.g. \(\texttt{A/AB/ABC}\))看作一个结点。那么会形成一个森林。例如: \[\ 阅读全文
posted @ 2026-07-13 16:31 xiaoniu142857 阅读(33) 评论(0) 推荐(0)
摘要: Solution 考虑所有 \(x = 0,1,\dots,X\) 依次对 \(A_1,A_2,\dots,A_N\) 取模的过程。初始时这些数构成一个半开区间 \([0, X+1)\)。第 \(i\) 步对 \(A_i\) 取模,会把当前每个区间 \([0,d)\) 分拆成: \(\lfloor 阅读全文
posted @ 2026-07-12 14:17 xiaoniu142857 阅读(136) 评论(0) 推荐(0)
摘要: Solution 我们称 count_pair 为操作 A,find_character 为操作 B。 操作 B 只能做一次,我们考虑先用操作 A 获取尽量多的信息。 对于每次操作 A,为了判断回文性,我们肯定要询问某一对 \(S_i,S_{N-i-1}\) 和另一个数 \(S_k\)。会有 \(3 阅读全文
posted @ 2026-05-30 18:26 xiaoniu142857 阅读(45) 评论(0) 推荐(0)
摘要: QOJ 可以评测 我们先考虑两个简单的 Subtask。 Subtask 1 \(k=1\)。一个自然的想法是直接传这个数 \(+1\),如果数是 \(n\) 就传 \(1\)。也就是传 \((x \bmod n)+1\)。 Subtask 2 对两个数分别执行上面的 \(+1\) 操作即可。但是两 阅读全文
posted @ 2026-05-27 20:57 xiaoniu142857 阅读(47) 评论(0) 推荐(1)
摘要: Solution 看到 \(01\) 矩阵,一个经典的转化是转化成二分图:建立 \(n\) 个行点 \(R_0 \sim R_{n-1}\) 与 \(n\) 个列点 \(C_0 \sim C_{n-1}\),\(A_{i,j}\) 表示一条连接 \(R_i,C_j\) 的边。在此基础上可以想到两种建 阅读全文
posted @ 2026-05-24 15:40 xiaoniu142857 阅读(135) 评论(0) 推荐(1)
摘要: Subtask 1 直接每对 \((i,j)\) 均询问一次,然后找出比其他数都大的一个即可。 Subtask 2 不难想到每次请求把候选点集合二等分并对应连边,每条边必然排除一个数。于是每次请求排除一半候选点。可以做到 \(t=20,s=10^6\),期望得分 \(11\)。 题目要求 \(t\l 阅读全文
posted @ 2026-05-16 22:41 xiaoniu142857 阅读(125) 评论(1) 推荐(0)