过了一天,已经忘了想说什么 P 话了。
哦你怎么知道我 20 抽星见雅。
哦这本是 1 号的 P 话。
哦共 168 抽 1 + 1。
A
注意到一个限制对于每个位置要求必须取 \(\ge v\) 或 \(\le v\) 的数,同时限制 \(v\) 必须在 \([l, r]\) 中被取。
对于位置限制是区间取交,对于值限制同样是区间取交。
然后知道限制就知道连边,然后匈牙利可过。
匹配时先扫一遍所有邻点,有未匹配点直接匹配,尽量少去递归。
B
先考虑 \(k = 0\) 是那条路径,要是手玩把系数往上拆到同一行你会发现竟然是斐波那契数列。并且杨辉三角你继续把这个斐波那契往上垒还是斐波那契。
最后有规律就是如果路径经过 \((x, y)\) 那么这条路径组合数求和是 \(Fib_{2x - y}\)。
现在一个矩阵求和,首先我们知道组合数列求和 \(\sum_{i = l}^r \binom{i}{y} = \binom{r + 1}{y + 1} - \binom{l}{y + 1}\)。
那么矩阵求和转为行求和。
然后根据上面的结论每个位置的路径都是 \(Fib_{2x - y}\)。
也就是要求两个斐波那契区间和做差。
矩阵加速求斐波那契前缀和即可。
有一个细节是我们列求和转化后的组合数的杨辉三角是没有第一列的。
所以做区间和时算到多少次第一列需要减去。
C
在阅读理解了。
在写注释了。
但是挂了。