Loading

P7324 [WC2021] 表达式求值

有一个朴素 \(O(nm|E|)\) 做法是拆位,在表达式树上 DP 做。

发现 \(m\) 很小,考虑带 \(2^m\) 的做法。

可以对于每一位的每一个数枚举一个答案 \(v\),设 \(f_{i, s, 0/1/2}\) 为在表达式树上结点 \(i\),目前这一位 \(m\) 个数字与 \(v\) 的关系是大还是小,当前结点答案是大于 \(v\) 等于 \(v\) 还是小于 \(v\) 的方案数,不难发现这个状态可以对应到每种情况,枚举 \(v\) 是不必要的,将 \(f\) 求出来即可。

posted @ 2026-01-14 15:26  Alexande  阅读(1)  评论(0)    收藏  举报