摘要: 模拟NOI 2023 D2 60+36+0 T1 P9481 [NOI2023] 贸易 考虑对每个终点分别计算。 子树内的很好求,字数外的,可以分为 n 组,也就是向上的路径的对面子树,贡献一起算。 问题变成,在反图的意义下,求每个点到所有祖先的最短路。 于是枚举每条特殊边,按照floyd的松弛思想 阅读全文
posted @ 2025-06-26 11:20 linjingxiang 阅读(19) 评论(0) 推荐(0)
摘要: NOI 2023 D1 100+35+0 T1 [NOI2023] 方格染色 扫描线,1.5h切的。(其实很慢了) T2 [NOI2023] 桂花树 部分分写的比较慢,而且有一处没有观察出来。不然还能拿到 \(8\sim12\) 测试点。 T3 P9480 [NOI2023] 深搜 24 分的爆搜 阅读全文
posted @ 2025-06-26 10:58 linjingxiang 阅读(16) 评论(0) 推荐(0)
摘要: 是的,可以低于 \(O(n^2)\) 复杂度计算出对于每一个 \(k\) 的 \(\sum_i f(i,k) = \sum_i w_i \binom{n-1-i}{k}\)(其中 \(k\) 的范围是 \(0\) 到 \(n-1\),且 \(k\) 是 \(O(n)\) 量级)。具体来说,可以通过生 阅读全文
posted @ 2025-06-24 12:42 linjingxiang 阅读(18) 评论(0) 推荐(0)
摘要: SAM 的基操就不总结了,主要记录一下细节容易弄错的用法 1. 全串匹配 简单来说就是把 SAM 当作 ACAM 来用。 假设需要知道匹配串 \(T\) 在文本串 \(S\) 中的匹配情况,则对 \(S\) 建 SAM,枚举 \(T\) 的每一个字符进行匹配的同时维护当前匹配长度 \(len\) 和 阅读全文
posted @ 2025-06-18 08:14 linjingxiang 阅读(24) 评论(0) 推荐(0)
摘要: Description 题目来源-洛谷 题目来源-CF 定义文本串 \(S'\) 和 匹配串 \(x_i\) 同构:\(x_i\) 经过循环移位(可以不移)与 \(S'\) 相同。 给定一个 \(S\) 和许多 \(x_i\),询问对于每一个 \(x_i\) 有多少个 \(S\) 的子串 \(S'\ 阅读全文
posted @ 2025-06-17 11:59 linjingxiang 阅读(14) 评论(0) 推荐(0)
摘要: Description 求一个字符串的每一种子串出现次数平方。 Solution 拍到 SAM 里,在 parent tree 上统计每一个状态节点所代表的一类子串出现次数,直接平方并乘上这个节点代表的子串数量。 时间复杂度 \(O(\sum \left| s \right|)\)。 代码: #in 阅读全文
posted @ 2025-06-17 11:59 linjingxiang 阅读(11) 评论(0) 推荐(0)
摘要: Description 给定两个字符串,求满足“分别从两个字符串中各取出一个子串并且这两个子串相同”的方案数。 Solution 问题转化:对于两个字符串的每一个公共子串,它的贡献为在两个字符串中出现次数的乘积。求所有公共子串贡献之和。 遇到所有子串的问题,SAM 是个好东西。 考虑在两个字符串之间 阅读全文
posted @ 2025-06-17 11:58 linjingxiang 阅读(24) 评论(0) 推荐(0)
摘要: 省流:使用了万能的 SAM,并且能够做到线性,目前其他题解没有。 Discription 题目 给定一个由数字构成的字符串,求它的所有循环移位中字典序最小的那一个。 Solution 首先有一部转化:一个字符串的所有循环移位,等效于这个字符串复制之后,所有长度等于原长的子串。 接下来就要拿出能够包含 阅读全文
posted @ 2025-06-17 11:58 linjingxiang 阅读(9) 评论(0) 推荐(0)
摘要: T1 P6775 [NOI2020] 制作菜品 题目 赛时根本没有关注到解题关键:n<=m+2,胡乱搞了个搜索。 正解,先考虑n=m+1,手玩一下容易发现总是有解,并且能够发现贪心策略,每次用最大的和最小的匹配。证明很好证。对于n<m+1就更轻松了,随便拿一个>=k的“坨”,分出来k给一个人,不断进 阅读全文
posted @ 2025-06-13 19:57 linjingxiang 阅读(12) 评论(0) 推荐(0)
摘要: T1 P3826 [NOI2017] 蔬菜 题目 赛时没好好想。 正解,仔细想蔬菜坏掉的机制,其实非常巧妙。从正着的时间轴上看,是一天少一点,但是可以提前买,但是如果从时间轴倒着推,就变成了:从某一天开始,这种蔬菜突然出现,并且每天都出现一些,那么目前出现过的,就是这一天可以买的。(因为再往前,也就 阅读全文
posted @ 2025-06-13 19:44 linjingxiang 阅读(16) 评论(0) 推荐(0)