可能是 BJOI2019 Day1 题解?

T1

给一个有空白字符的串 $S$,和若干模板串 $X_i$,初始 $Ans = 1$,每当一个模板串在 $S$ 中作为子串出现时,$Ans$ 会乘以 $X_i$ 的权值 $Val_i$,然后如果 $S$ 中出现了 $k$ 次模板串(相同串出现两次算两次),贡献就是 $^k \sqrt{Ans}$,你要在空白字符处任意填入字符,最大化贡献

$\sum |X| \leq 1500, n \leq 1500$

sol:

首先,你要求几何平均数,然后你发现没法求

然后,你发现这是个经典问题,把所有数取个 log,然后几何平均数就变成了算术平均数

然后,最大化算术平均数,那就是分数规划

A 了这题就能翻到队线以上...可惜我没有

 

T2

令 $f_n$ 为用 $1\times 2$ 的骨牌拼 $2 \times n$ 方格的方案数,$g_n$ 为用 $1 \times 2$ 的骨牌拼 $3 \times n$ 方格的方案数,问你 $\sum\limits_{i=l}^r \binom{f_i}{k}$ 和 $\sum\limits_{i=l}^r \binom{g_i}{k}$,膜998244353

$k \leq 1500,l,r \leq 10^{18}$

sol:

打表找规律发现 $f$ 是斐波那契数列,$g_{2n+1} = 0$,$g_{2n} = 4\times g_{2n-2} - g_{2n-4}$

发现 $k$ 是给定的,于是只需要求斐波那契数列的下降幂

下降幂可以用带符号第一类斯特林数转换成幂

现在就是要求斐波那契数列的幂之和

然后发现这是个经典问题(为什么这么多我没学过的经典问题啊)

考虑斐波那契数列的特征方程,令它的两个特征根为 $A,B$(是两个带有 $\sqrt{5}$ 的分数,懒得打了)

然后发现 $F_n^k = \frac{1}{(\sqrt{5})^k} \times (A^n - B^n)^k$

把后面那个东西二项式定理展开

会发现相同的$(-1)^j \times \binom{k}{j}$ 的系数是一个等比数列,记 $D=A^{k-j} \times B^{j}$

则对于 $j$ 来说它的系数是 $\frac{D \times (D^n - 1)}{D-1}$

枚举 $j$ 计算即可

但比较蛋疼的是 5 在模 998244353 意义下没有二次剩余,扩域即可

然后发现这个特征方程的做法并不依赖于斐波那契数列,只要它是个由前两项递推过来的递推式就可以了

后面那个东西只看偶数项就是个递推式,那就...同样的方法做就可以了,值得注意的是,3 在模 998244353 意义下依然没有逆元,跟 5 的处理方法一样

(所以为什么不模 $10^9+9$

 

T3

有一个迷宫,有一些墙,你可以加入墙,删除墙,或者询问在一个点一直用左手扶墙走到另一个点的距离

$n \leq 500,q \leq 10^5$

sol:标程 7KB

大概就是你要维护一些环,支持合并,分裂,查询环上只能逆时针走从 $A$ 到 $B$ 的距离

这个东西用平衡树按顺序维护一下就可以了

一次合并/分裂可以转化成两次 split/merge

posted @ 2019-04-20 16:47  探险家Mr.H  阅读(731)  评论(0编辑  收藏  举报