P5284 字符串问题题解 第一个自己写出来的黑题! 怎么没人写哈希啊。 哈希真的有用! 大杂烩题目。考虑你已经选择了某个 A 类串,那你下一个能选择的 B 类串也是确定的。如果选择了 B 类串,那么能选择的 A 类串也是固定的。因此我们考虑把图建出来,然后拓扑排序跑 DP,有环就输出 -1。 A 类串向 B 类串的边好建,但是 B 类向 A 类串的边怎么办? 考虑 B 是 A 的前缀这一个性质。假如我们把所有字符串按照字典 2026-01-03 OI > 题解 #字符串 #哈希 #拓扑排序
P10612 Box of Mirrors 题解 我发现我贪心之类的什么都不会,因此我们用一点点置换群知识暴力构造! 由于光路可逆,因此我们只保留一边的光线和对应的出口。我们保留左边和下边的光线。我们经过观察发现,镜子只会使光向右和向上走,并且每个光线恰好对应一个出口。 我们可以用一个 的置换来描述光线和终点的关系,记作 , 表示标号 的光线最后的出口相对的编号,这样就是一个 的置换。规定置换从右往左复合,轮换 表示 最后的位置是 ,以 2025-12-29 OI > 题解 #置换群 #数学题解 #构造题
P9879 Check Pattern is Good 题解 继续加训网络流。 一看就是非常典型的集合划分模型,考虑转化成最小割模型。 但是你注意到直接做可能并不是很好做,因为对颜色的要求和方位有关。 我们先考虑最优情况是什么,显然就是黑白染色,这样每个 的方格都是合法的。 此时如果改变一个格子的颜色,就会使答案减少 。因此我们先黑白染色,然后将格子分成改变颜色和不改变颜色两个集合。这样产生贡献的条件就变成了简单的划分到一个集合了。 因此我们用这种方式建图 2025-12-29 OI > 题解 #图论 #网络流 #最小割
NOIP 2025 游记 爆炸了。 被 T2 创飞了。 还是太自信了。 考前想着“别太大压力,省一至少还是有的,最好能争取下 APIO”。赛后发现似乎连省一都没有了。 早上进场,自认为很清醒。看了眼 T1,根据往年经验猜是贪心,然后想了想就出来了。 此时剩下 个小时。 小时,把 T2 过了就不算太差。当时我是这么想的。 看了下 T2,以为是 assign 难度。此时我的头脑开始有点迷糊了(找的借口而已)。拿起草稿纸乱涂乱 2025-11-29 随笔 #游记 #OI竞赛
P14636 题解 你说的对,但是我场上 小时读假题 小时调立方代码还没调出来给我整不知所措然后被清空精神条了导致我赛后对所有不支持评黑的人哈气。 然后躺床上 eps 秒之后精神值恢复了一点突然想到了做法。 首先你考虑最优解和根据题意得到的解的差别在哪。 考虑通过替换掉一些糖果来达到最优解,有以下几种可能: 元的糖果换 元的糖果:显然不可能,因为你是按照性价比选择的。 元的糖果换 元的糖果:显然不可能, 2025-11-29 OI > 题解 #算法 #题解 #竞赛编程
CF2157G Isaac's Queries 题解 赛时卡 F 导致没看 G,然后第二天有人告诉我题面然后我随便胡了个做法然后过了? 痛失上紫机会。 异或考虑拆位,由于询问的是最高位考虑从高到低做。我们用 表示 的第 位,下标从 开始。 我们考虑一个询问实际上给了我们什么信息。假设对 的询问是 ,那么 的异或和为 。 对于任意 , 的异或和为 。 利用区间询问来确定序列信息和 AT_abc238_e 和 P5937 很类似。所以我们 2025-11-26 OI > 题解 #题解 #CF2157G #异或
QOJ 7787 Max Rating 题解 最近几天讲临项交换,突然想到以前洛谷网校模拟赛做到了这么一个有意思的题目,然后找了一下午,好几次都略过了这道题目但是就是没看出来就是我要找的那道题。开原题机发现是这道题目。 ▶INFO 题面 T529359 放的是网校的题面,题号也是网校的题号,防止自己忘记。和 QOJ 7787 是一道题目 2025-11-17 OI > 题解 #题解 #QOJ 7787 #Max Rating
圣诞树题解 ▶INFO 题面 圣诞节到了,小 P 很孤独。 他只有一棵光秃秃的圣诞树,所以他决定玩玩它。不幸的是,这棵树被玩坏了,所以小 P 想将它复原。 小 P 的圣诞树是一棵 个节点的树,每个点是一个小球,第 个球上面有 个孔,孔之间是有区别的。小 P 需要用 条绳子将这些点连成一棵树。每个 2025-11-17 OI > 题解
Tailscale DNS 配置小记 今天尝试在手机上下载 tailscale 访问内网设备,发现了一个问题。手机默认的 dns 解析器只会把 ts.net 的域名和我的设备关联,可是我内网服务器使用的域名并不是这个(假设是 a.example.com)。 我希望将我服务器使用的域名 a.example.com 关联到我的服务器。 首先想到的自然是改 hosts。但是我的手机没有 root,自然也不方便改。 其次是 Virtual H 2025-10-20 技术 #Tailscale #DNS #网络配置
knapsack 题解 ▶INFO 题面 有 个物品,每个物品可以用二元组 表示,代表物品的体积、单价。 有若干个大小为 的背包,每个背包能装下任意多个体积和不超过 的物品,此外使用一个背包还需要花费代价,代价是此背包内所有物品单价的最大值。 现在,你需要将这 个物品放入任意多个背包中,使得所有背包的代价 2025-10-10 OI > 题解 #动态规划 #Knapsack #算法题解