主要思路
好难理解啊这题,让我想想。
首先,我们要把这个问题搞成一个二元问题,可以枚举最后的颜色,然后来单独计算。考虑最后的颜色为白色,其他颜色是黑色。转换成这个问题后,可以考虑进行转移。
好难理解啊这题,让我想想。
首先,我们要把这个问题搞成一个二元问题,可以枚举最后的颜色,然后来单独计算。考虑最后的颜色为白色,其他颜色是黑色。转换成这个问题后,可以考虑进行转移。
这道题作为偏序题还是很有意思的,第一次碰到「二维偏序」。
先考虑偏序条件,设圆原点在 \((a, b)\),现在有一个点 \((x, y)\),如果这个点被覆盖:
\[ (x – a)^2 + (y – b)^2 \leq a^2 + b^2 \]
因为是从 yyb 博客上抓的题,所以知道可以用线段树做。大概想了想,初步的想法就是用线段树来维护不同高度(?)的最长子序列长度。其实这样是可以的,输入高度时就先塞到每个点的动态开点线段树里,然后就可以把儿子的进行合并。合并儿子的时候,维护至少为 \(x\) 时能得到的最长子序列长度,所以我们可以用差分的方式来做一做(当然也可以做标记永久化的区间加):从 \(w_u\) 的位置开始加上一个一,然后把上一次的 \(1\) 给删掉。
刚开始想的时候以为是可以直接设置 \(dp[u][0/1]\) 来表示是否已经用掉了一次判断的机会,然而正解其实跟这个差不多,只是用了一种更模式化的做法。
首先对于 \(d = 1\),答案就是 \(k^n\)。
对于 \(d = 2\),其实发现可以用生成函数来直接乘:\( A(x) = \sum_{i = 0}^\infty \frac{1}{i!} x^i [2 | i] \),那么答案就是 \( A^k(x)[x^n] \)。发现可以变通奇偶性,所以 \(A(x) = \frac{e^x + e^{-x}}{2}\),然后试着二项式展开: