The 2023 ICPC Asia Hangzhou Regional Contest / The 2nd Universal Cup. Stage 22: Hangzhou

比赛链接

M. V-Diagram

题意:给一个 V 图,求一个连续子序列平均值最大的 V 图。

设顶点是 x,答案一定是 [1,x+1],[x1,n],[1,n] 三者之一,复杂度 Θ(n)

J. Mysterious Tree

题意:一棵树,可能是链或者菊花,每次询问一条边存在性,确定是链还是菊花。询问次数 n2+3

先依次询问 (1,2),(3,4),,如果原树是菊花,那必定有且仅有一次询问是存在的,设为 (u,u+1),那中心点只可能是 uu+1,随便选其他两个点 (a,b) 询问,先问 (u,a),(v,a),拿有边的那个再询问 b 即可。

G. Snake

题意:给定 n×m 地图上的一条长度为 k 的贪吃蛇。每次操作可以控制贪吃蛇移动一步或者缩短一格蛇身。对于每个位置,求从初始状态出发最少需要多少次操作使得蛇头到达该处。

对于所有初始被贪吃蛇覆盖的位置,设它为从头到尾第 p 个位置 (xp,yp),那么设 cxp,yp=kp+1,表示头到达这个位置时至少要 cxp,yp 时刻之后,然后可以直接跑一个最短路 disx,y=max(disx,y+1,cx,y),复杂度 Θ(nmlognm)

对于取 max 操作,可以拿另一个队列升序维护所有 disx,y=cx,y 的位置,每次 bfs 时找到两个队列的头部最小值就行,复杂度 Θ(nm+klogk)

H. Sweet Sugar II

n 个数 a1,a2,an,有 n 个事件,每个事件形如:如果 ai<abi,则 aiai+wi。事件随机顺序发生,问每个数的期望。

  • 对于 ai<abii,由于 i,wi>0,最后 ai 一定是 ai+wi。设这种点是 A 类点。

  • 对于 aiabi+wbii,最后显然一定是 ai。设这种是 B 类点。

  • 对于 ai<abi+wbii,设这种为 C 类点。

首先 ibi 一定是个基环树,对于 C 类点,肯定是经过若干个 C 类点,结尾是一个 A 类点,设 i=p1,p2pk,其中 pkA 类点,那么如果最后变成 ai+wi,发生顺序一定是 pk,p1,概率显然是 1k!。对于每个 C 类点算后面第一个 A 类点距离即可,可以记忆化搜索,复杂度 Θ(n)

E. Period of String

题意:给 n 个串,重排列每个串使得 sisi+1 的 period。其中 ab 的 period 定义为 bi=ai mod |a|.

考虑直接模拟这个过程,先看 s2,一定可以分解成若干 s1 加上 s1 的一个前缀,然后 s3 一定可以分解成若干个 s2 加上 s2 的一个前缀,s2 的一个前缀一定可以分解成若干 s1s1 的一个前缀。

考虑分解串的这个过程,是找到 si1,然后剩下的若干个 l<|si1| 的位置再在 si1 中找到前面的第一个长度 l 的整串。那么可以设 lsti,j 为串 ij 个位置可以匹配到的前面最长整串,若 |si1||j,那么 lsti,j=i1,否则 lsti,j=lsti1,j mod |si1|,然后设 fai,j 为串 i 的第 j 个位置最后分解出来对于 s1 的哪个位置,有 fai,j=fai1,(j1) mod |si1|+1

判定串 si 时,设 pos 为当前合法的位置,初始为 1,那么每次找到 jpos 的最大 lsti,j,把 [pos,pos+|slsti,j|1] 匹配到 slsti,j,可以直接统计字符出现次数来判定(可以写个链表防止复杂度劣化),然后最后无法匹配时剩下的长度就是 s1 的一个前缀长度 leni,并且此时还剩下 Ti 这些字符,设为 (leni,Ti)

最后把 (leni,Ti)leni 排序,要求任意的 (TiTi+1) 即可。构造是简单的。

复杂度 Θ(nlogn+|si|)

K. Card Game

题意:给一个牌序列,每次询问区间进行接龙游戏的剩余牌数。

dpl,r[l,r] 游戏的答案,设 nxtii 后面第一个 =ai 的位置。

那么转移有 dpl,r=dpl+1,r+1(r<nxti)dpl,r=dpnxti+1,r(rnxti)

考虑优化转移,用一个主席树,每次先继承 l+1 的 dp 值,然后把 [l,nxtl1] 区间加 1,然后把 [nxtl+1,n] 这些位置继承 nxtl+1 的子树即可。写一个永久化标记,注意继承 nxtl+1 的子树时要减去当前到根的标记,加上 nxtl+1 到根的标记。

复杂度 Θ(nlogn)

本文作者:FantasyNumber

本文链接:https://www.cnblogs.com/MiniLong/p/18460661

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   FantasyNumber  阅读(74)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起