icpc2020澳门 I. Nim Cheater (轻重链剖分优化dp空间复杂度)
题目链接:https://codeforces.com/gym/103119/problem/I
\(dp\) 直接背包
操作构成一棵树,节点 \(i\) 的答案就是从 \(i\) 到根这一条链上的 \(dp\) 值,如果没有空间限制就做完了
考虑进行轻重链剖分,由于每个节点到根的路径上只有 \(O(logn)\) 个轻边,设 \(dp[cnt][v]\) 表示链上第 \(cnt\) 个轻边的 \(dp\),先处理轻儿子,最后处理重儿子,重儿子使用前一条轻边的 \(dp\) 空间