设 f[i][0]
表示放置了前 i 个元素,当前逻辑表达式值为 false的方案数
设 f[i][1]
表示放置了前 i 个元素,当前逻辑表达式值为 true的方案数
如果当前运算符为 OR
f[i][0] = f[i - 1][0]
//到第i位为止结果为true等于i - 1位结果为true的方案数*2因为第i-1位为true第i位就有两种放法
f[i][1] = f[i - 1][1] * 2 + f[i - 1][0]
如果当前运算符为 and
f[i][0] = f[i - 1][0] * 2 + f[i - 1][1]
f[i][1] = f[i - 1][1]
本题考查递推的思想