其他分享
首页 > 其他分享> > CometOJ Contest #3 C

CometOJ Contest #3 C

作者:互联网

题目链接:https://cometoj.com/contest/38/problem/C?problem_id=1542&myself=0&result=0&page=1&contestID=38&problemID=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