The 2023 ICPC Asia Hangzhou Regional Contest / The 2nd Universal Cup. Stage 22: Hangzhou
M. V-Diagram
题意:给一个 图,求一个连续子序列平均值最大的 图。
设顶点是 ,答案一定是 三者之一,复杂度 。
J. Mysterious Tree
题意:一棵树,可能是链或者菊花,每次询问一条边存在性,确定是链还是菊花。询问次数 。
先依次询问 ,如果原树是菊花,那必定有且仅有一次询问是存在的,设为 ,那中心点只可能是 或 ,随便选其他两个点 询问,先问 ,拿有边的那个再询问 即可。
G. Snake
题意:给定 地图上的一条长度为 的贪吃蛇。每次操作可以控制贪吃蛇移动一步或者缩短一格蛇身。对于每个位置,求从初始状态出发最少需要多少次操作使得蛇头到达该处。
对于所有初始被贪吃蛇覆盖的位置,设它为从头到尾第 个位置 ,那么设 ,表示头到达这个位置时至少要 时刻之后,然后可以直接跑一个最短路 ,复杂度 。
对于取 操作,可以拿另一个队列升序维护所有 的位置,每次 bfs 时找到两个队列的头部最小值就行,复杂度 。
H. Sweet Sugar II
个数 ,有 个事件,每个事件形如:如果 ,则 。事件随机顺序发生,问每个数的期望。
-
对于 的 ,由于 ,最后 一定是 。设这种点是 类点。
-
对于 的 ,最后显然一定是 。设这种是 类点。
-
对于 的 ,设这种为 类点。
首先 一定是个基环树,对于 类点,肯定是经过若干个 类点,结尾是一个 类点,设 ,其中 为 类点,那么如果最后变成 ,发生顺序一定是 ,概率显然是 。对于每个 类点算后面第一个 类点距离即可,可以记忆化搜索,复杂度 。
E. Period of String
题意:给 个串,重排列每个串使得 是 的 period。其中 是 的 period 定义为 .
考虑直接模拟这个过程,先看 ,一定可以分解成若干 加上 的一个前缀,然后 一定可以分解成若干个 加上 的一个前缀, 的一个前缀一定可以分解成若干 和 的一个前缀。
考虑分解串的这个过程,是找到 ,然后剩下的若干个 的位置再在 中找到前面的第一个长度 的整串。那么可以设 为串 第 个位置可以匹配到的前面最长整串,若 ,那么 ,否则 ,然后设 为串 的第 个位置最后分解出来对于 的哪个位置,有 。
判定串 时,设 为当前合法的位置,初始为 ,那么每次找到 的最大 ,把 匹配到 ,可以直接统计字符出现次数来判定(可以写个链表防止复杂度劣化),然后最后无法匹配时剩下的长度就是 的一个前缀长度 ,并且此时还剩下 这些字符,设为 。
最后把 按 排序,要求任意的 即可。构造是简单的。
复杂度 。
K. Card Game
题意:给一个牌序列,每次询问区间进行接龙游戏的剩余牌数。
设 为 游戏的答案,设 为 后面第一个 的位置。
那么转移有 ,。
考虑优化转移,用一个主席树,每次先继承 的 dp 值,然后把 区间加 ,然后把 这些位置继承 的子树即可。写一个永久化标记,注意继承 的子树时要减去当前到根的标记,加上 到根的标记。
复杂度 。
本文作者:FantasyNumber
本文链接:https://www.cnblogs.com/MiniLong/p/18460661
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步