CometOJ Contest #3 C
作者:互联网
题目大意:
略
分析:
已知原序列为 a1, a2……an。
设 b1, b2……bp 为原序列的一个子序列。
定义 Ans(b1, b2……bp) 为对应序列的完美子序列种数。
定义 Sum(b1, b2……bp) 为对应序列的所有非空子序列的整数之和。
定义 Sum[b1, b2……bp] = b1 + b2……+ bp。
首先找一下规律:Sum(b1, b2……bp) = 2p-1 * Sum[b1, b2……bp]。
设 x 为 m 中质因子 2 的个数。
则 m 可写成:
$$
\begin{align*}
m &= 2^0 * q_0 \\
&= 2^1 * q_1 \\
&……… \\
&……… \\
&= 2^x * q_x
\end{align*}
$$
如果序列 (b1, b2……bp) 是完美的,一定有 m | Sum(b1, b2……bp),也就是说一定有:
$$
\begin{align*}
&2^0 | 2^{p-1}\quad and\quad (m / 2^0) | Sum[b1, b2……bp] \\
or\ &2^1 | 2^{p-1}\quad and\quad (m / 2^1) | Sum[b1, b2……bp] \\
or\ &……………………………… \\
or\ &……………………………… \\
or\ &2^x | 2^{p-1}\quad and\quad (m / 2^x) | Sum[b1, b2……bp]
\end{align*}
$$
代码如下:
标签:Contest,Sum,bp,b1,b2,序列,quad,CometOJ 来源: https://www.cnblogs.com/zaq19970105/p/10861711.html