ZR模拟赛3
舒适场
Time Record
8:45 T1 #1,2 (10pts)
9:45 T2 50pts
10:11 T3 15pts
10:30 T3 +17pts=32pts
12:03 T2 满分算法拍过 +50pts=100pts
12:18 T3 改写暴力 大概能 +10pts=42pts
13:01 T1 满分算法过样例 +90=100pts
没有fst!!1

A
一道数学题。通过 Cauchy 不等式能看出,或者手推找规律也可以发现 \(p_i=D^2p_{i-1}\)。
http://zhengruioi.com/submission/335279
B
感觉做过类似的题。考虑建出最短路图,然后跑支配树,发现如果一个点存在一条 DAG 必经边当且仅当它 DFS 树上的祖先存在一条必经边或者自己的入度为1.
http://zhengruioi.com/submission/335100
C
赛场上想到了一个能解决 25 分的 DP 和一个能解决 17 分的 AC 自动机做法。
实际上考虑根号分治,把长度小的给塞进一个trie(25分做法),长度大的由于最多匹配根号个暴力哈希。
然而强少有个非常nb的做法可以做 \(K=10\)。发现匹配串的总和是 \(O(n)\) 的,所以发现不同的字符串长度最多只有 \(O(\sqrt n)\) 的级别,所以每次转移的不同的转移位置只有 \(O(\sqrt)\) 个。考虑建小串的AC自动机。截止到 \(i\),\(S\) 可以在 AC 自动机的一个位置上表示出自己的最长匹配后缀,我们通过跳 fail 树能获得其所有匹配子串。预处理说fail树上所有点,往上跳到的第一个代表匹配串的点事哪个,暴力跳即可。

浙公网安备 33010602011771号