CF1455G Forbidden Value(启发式合并,DP)
\(x = 0\),有 \(N\) 条命令:
-
set \(y\) \(v\):令 \(x \leftarrow y\),或者不执行代价为 \(v\)。
-
if \(y\) [COMMANDS] end:如果 \(x = y\) 执行 [COMMANDS]。
问任意时刻满足 \(x \neq X\) 的最小代价。
被教育了,完全学会了封装。对分支结构建树然后树形 dp 合并子树的时候用 dsu on tree 即可。时间复杂度 \(\Theta(N \log ^ 2 N)\)。
错因:[CL] map 初始值为 \(0\),而初始最小值应该为 \(-\infty\)。封装的重要性。

浙公网安备 33010602011771号