A
每次询问
S
a
.
.
.
b
,
S
c
.
.
.
d
S_{a...b},S_{c...d}
Sa...b,Sc...d,保证是回文串,表示询问哪个更优秀
优秀的定义是每次随机字符,随出来的串长期望最短
- 首先是歌唱王国,我们设匹配到就结束的 GF 是
F
(
x
)
F(x)
F(x),匹配到后不结束的 GF 为
G
(
x
)
G(x)
G(x)
那么求的就是 F ′ ( 1 ) F'(1) F′(1),根据定义可以列出恒等式: F ( x ) + G ( x ) = x G ( x ) + 1 F(x)+G(x)=xG(x)+1 F(x)+G(x)=xG(x)+1
以及 G ( x ) ( 1 m x ) L = ∑ i = 1 L e x i s t i F ( x ) ( 1 m x ) L − i G(x)(\frac{1}{m}x)^L=\sum_{i=1}^Lexist_iF(x)(\frac{1}{m}x)^{L-i} G(x)(m1x)L=∑i=1LexistiF(x)(m1x)L−i, F ( 1 ) = 0 F(1)=0 F(1)=0
对第一个式子求导, F ′ ( 1 ) = G ( 1 ) F'(1)=G(1) F′(1)=G(1),代入第二个式子,得到 G ( 1 ) = ∑ i = 1 L e x i t s t i m i G(1)=\sum_{i=1}^Lexitst_im^i G(1)=∑i=1Lexitstimi - 那么这道题只需要比较 b o r d e r border border 的字典序, p a m pam pam 即可
C
- 简单题,每个颜色处理一下就稳了
D
- 显然只会从最近的一个端点转移
E
- 枚举每个联通块减掉,并查集维护即可
F
- 对于卡着上限的直接压拆分数,否则我们枚举最大值的个数进行 d p dp dp,枚举每个数填的个数,用组合数进行转移
G
- 显然会删最短路上的边,边权随机故暴力枚举
H
- 思路很妙啊,展开成用等边三角形平成的平面,那么就是求一条射线与边的第 k k k 个交点的时间
I
- 用栈维护括号序列,必须放的时候贪心放进去
J
- 只用记另一维是什么,
d
p
i
+
1
,
j
=
d
p
i
,
j
+
d
i
s
t
(
i
,
i
+
1
)
,
d
p
i
+
1
,
i
=
min
d
p
i
,
j
+
d
i
s
t
(
j
,
i
+
1
)
dp_{i+1,j}=dp_{i,j}+dist(i,i+1),dp_{i+1,i}=\min dp_{i,j}+dist(j,i+1)
dpi+1,j=dpi,j+dist(i,i+1),dpi+1,i=mindpi,j+dist(j,i+1)
前面的整体打标记,后面的把绝对值拆开分治进行 d p dp dp 就可以了
H
-
记 q = 1 − p q=1-p q=1−p,设答案的生成函数是 F ( x ) = ∑ i = 0 n a i x i F(x)=\sum_{i=0}^na_ix^i F(x)=∑i=0naixi,则
F ( x ) = ∑ t = 0 ∞ q t p ( q t + 1 + ( 1 − q t + 1 ) x ) c − 1 ( q t + ( 1 − q t ) x ) n − c = ∑ t = 0 ∞ q t p ∑ i = 0 c − 1 ( c − 1 i ) q i ( t + 1 ) ( 1 − x ) i ∑ j = 0 n − c ( n − c j ) q j t ( 1 − x ) j x n − 1 − i − j = p ∑ i = 0 c − 1 ∑ j = 0 n − c ( c − 1 i ) ( n − c j ) ( 1 − x ) i + j x n − 1 − i − j q i 1 − q i + j + 1 F(x)=\sum_{t=0}^{\infty}q^tp(q^{t+1}+(1-q^{t+1})x)^{c-1}(q^t+(1-q^t)x)^{n-c}\\=\sum_{t=0}^{\infty}q^tp\sum_{i=0}^{c-1}\binom{c-1}{i}q^{i(t+1)}(1-x)^{i}\sum_{j=0}^{n-c}\binom{n-c}{j}q^{jt}(1-x)^jx^{n-1-i-j}\\=p\sum_{i=0}^{c-1}\sum_{j=0}^{n-c}\binom{c-1}{i}\binom{n-c}{j}(1-x)^{i+j}x^{n-1-i-j}\frac{q^i}{1-q^{i+j+1}} F(x)=t=0∑∞qtp(qt+1+(1−qt+1)x)c−1(qt+(1−qt)x)n−c=t=0∑∞qtpi=0∑c−1(ic−1)qi(t+1)(1−x)ij=0∑n−c(jn−c)qjt(1−x)jxn−1−i−j=pi=0∑c−1j=0∑n−c(ic−1)(jn−c)(1−x)i+jxn−1−i−j1−qi+j+1qi -
求出 G i + j = ∑ i ∑ j ( c − 1 i ) ( n − c j ) q i G_{i+j}=\sum_i\sum_j\binom{c-1}{i}\binom{n-c}{j}q^i Gi+j=∑i∑j(ic−1)(jn−c)qi
那么就是求
F ( x ) = p ∑ k = 0 n G k ( 1 − x ) k x n − 1 − k 1 1 − q k + 1 = p ∑ k = 0 n ∑ t ≤ k ( k t ) ( − 1 ) k − t x n − 1 − t G k 1 − q k + 1 F(x)=p\sum_{k=0}^nG_k(1-x)^kx^{n-1-k}\frac{1}{1-q^{k+1}}\\=p\sum_{k=0}^n\sum_{t\le k}\binom{k}{t}(-1)^{k-t}x^{n-1-t}\frac{G_k}{1-q^{k+1}} F(x)=pk=0∑nGk(1−x)kxn−1−k1−qk+11=pk=0∑nt≤k∑(tk)(−1)k−txn−1−t1−qk+1Gk
是个卷积