T1:
简单贪心。
T2:
有的间屋子被条双向路径连通,构成树结构。其中第个屋子中住着一个种族的狼人。
树的一个连通子图中,若其中一个种族的狼人超过了其他种族的总和,它们可以在该连通子图中进行支配。具体而言,记为种族为的狼人在连通子图中的个数总和,则支配的条件是存在使得。
那么,有多少个不同的连通子图会出现支配的情况?答案对998244353取模。
连通子图指点集和边集分别为原图点集和边集的子集,且连通的图。子图不同,当且仅当选择的点集和边集至少有一个不完全相同。
考虑对每一种种族各自求一遍答案。对于一个种族,让是这个种族的结点权为 ,否则权为 ,即计数有多少个连通子图的权值和为正数。
表示 的子树内权值为 的方案数。 的范围既是当前种族总个数,又是 。根据树上背包经典分析,复杂度为 。
T3:
对一个全排列,给定并依次做如下操作
- 对进行从小到大排序;
- 对进行从小到大排序:
- ……
- 对进行从小到大排序:
注意每次排序都改变了序列,每次的指上一轮排序后处在位置的数。
我们不知道初始的,只知道排序的最终结果,记做。求所有可能的初始中,字典序第小的?保证存在个不同的初始。
若出现 ,说明 这个数初始位于 ,然后可以把 这个位置删掉。
由此得到一个单调上升的序列 ,即求对应 的字典序第 小的 ,把 按顺序填回 里还没有被确定的位置即可。
一般字典序都是试填法,看填最小的行不行 …… 逐渐增大,每次减去对应方案数。
考虑怎么求方案数。发现 必然是在 的位置里随便填一个, 种; 在 的剩下 个位置里选一个,也是 种 …… 直到后面的位置不够了,变成 。
然后不太清楚了 …… 总之是试填法。
T4:很少见到这么纯种的人类智慧。
给定正整数,请构造两个01串,使得他们恰好有个本质不同的最长公共子序列。
额外给定参数,构造的串必须满足。
考虑对于两个 01 串,记 为有多少种不同的 LCS,使得尽量取字典序最小的结束位置时,落点恰好是 。
这是对所有 LCS 不重不漏的分类。
构造初始串 ,此时 。设当前 ,我们希望通过在 后面增加常数个字符,达到让 或 量级的效果。这样可以在 长度构造出来。
事实上这是可行的,我们增强结论,让所有 在 ,其余位置 。
如果要 ,可以 ;如果要 , 即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!