2021浙江省赛
A
签到
C
简单题
D
最短路、树相关 待补
F
数学、思维
首先由于$n’$最终取值范围为$[1,n]$,所以枚举$n’$可以得到一个$O(n)$的做法
然后把$[1,n]$分块为$[1,\sqrt m],[\sqrt{m}+1,\min\{n,m\}]$两部分,枚举第一部分n’取值,复杂度$O(\sqrt n)$,对于第二部分,可以把式子写成$m’=n’k$,此时$k$的取值范围为$[1,\sqrt m]$,枚举k,对于每个固定的k,可以找到一个贪心方案使代价最小,所以第二部分的代价也是$O(\sqrt m)$.
G
并查集,可以发现每一条边相邻的块都是2个,只有一个相邻块被占领时,这条边记录进答案,两个块都被占领时,这条边不记录进答案。
模拟赛写这题的时候一直在想怎么把每条边都映射到一个数,再用数组记录这条边的状态,然后就要开两个map,时间常数非常大一直tle。但是实际上由于一条边只和两个块相关,所以只要用相邻的两个块判断边的状态就可以了。
I
好像是个思维题
J
简单背包
L
KMP相关
原算法相当于将模式串每个位置的fail指针都视为1
hack方法就是判断模式串的fail指针是否全1
有一个简单的做法就是判断是否存在$i\in[2,n]$满足s[i]==s[1],若有则可以被hack
M
简单题