20260413紫题训练总结
A - 象棋
简单题,但看错题了,认为每个棋子的终点是固定的。
考场思路
使用网络流。
可以用流量代表棋子,费用代表步数。
现在最困难的是如何限制每个棋子要走到目标位置。
但网络流似乎无法限制这个东西,所以不是网络流。
发现只有起点和终点重合的点才有可能额外走而且最多出去一步,然后回来。
但这依然是困难的。
赛后和\(BirdenT\)大佬讨论后发现没脑子了。
题解
B - 魔法咒语
简单题。
考场思路
先把忌讳词语的 \(AC\) 自动机建出来,然后 \(DP\)。设 \(f_{i,j}\) 表示长度为 \(i\) 的咒语,在 \(AC\) 自动机上到了点 \(j\) 的方案数。
前面几个点直接转移,后面的用矩阵乘法优化。由于基本词汇长度最多为 \(2\),可以把矩阵变成 \(200\times200\) 的,前面 \(100\) 个放 \(f_{i,1},f_{i,2},\dots,f_{i,100}\) 后面的放 \(f_{i-1,1},f_{i-1,2},\dots,f_{i-1,100}\),这样就可以从 \(f_{1,i}\) 转移到 \(f_{3,j}\),即把一个长度为 \(2\) 的基本词汇加入。
C - 树的重心
由于和 \(T1\) 奋战了很久,没时间思考了。
题解

浙公网安备 33010602011771号