时间安排
8:00~8:20
T2都没有?的时候可以O(n)dp一下,就写了。
8:20~8:50
第一档似乎就是爆搜,但是状态数 O ( 9 10 ) O(9^{10}) O(910),极限要跑3min,而且不会剪枝,就放弃了。
8:50~9:30
T3似乎有很多分的样子。
先写了个第一档的暴力。
9:30~9:50
直觉告诉我当ab随机的时候如果串长度大于根号,那么出现次数小于根号,根号分治,复杂度
O
(
n
n
l
o
g
n
)
O(n \sqrt nlog n)
O(nnlogn)
太麻烦了,不想写。
9:50~10:30
对于第三档和第四档分别口胡出来了一个 O ( n n l o g n ) O(n\sqrt nlogn) O(nnlogn)的做法,似乎可以用树分块或者长链剖分去掉log,但是太恶心了。
10:30~12:00
发现刚才想多了,只需要在SAM的DAG上走就可以不带log,第四档可以回滚莫队,于是赶紧码,不知道5e5能不能过。
12:00~13:00
写T1的第一档爆搜,结果写到最后也没调出来。
考后总结
T1
分类讨论,贪心,模拟。
三个我最讨厌的知识点混合在一起,于是这道题一分也没有。
觉得应该在考场上抵制这种心理,即使不想写,很麻烦,但是不写就没分,写了就可能有分,比如T1的第三档随便贪心就能过。
正解的话,大概就是分三种情况,然后分别贪心,其他情况都可以约到这种情况。
适当的练一下贪心题和模拟题,这两块确实太弱了。
T2
wxq的爆搜直接搜有效的状态,这样的话有效的非常少,就能过掉第一档。
正解感觉有点像状压dp+dp套dp?
不太懂,也不知道怎么建出了一个DFA。
T3
考场上莽了3个小时,写了500行代码,好在有收获。
get一个结论是字符集为C时,如果字符串随机,那么一个长度为L的串的期望出现次数是
O
(
n
C
L
)
O(\frac{n}{C^L})
O(CLn)
因此长度大于
l
o
g
C
n
log_C^n
logCn时,期望出现1次或者不出现。
正解似乎是什么DAG剖分等黑科技,等回头正确把订定出来。