#AT1249. 稍微改变一下
稍微改变一下
题目描述
对于两个长度为 且由 和 组成的序列 和 ,我们定义 如下:
考虑在 上重复以下操作,使得 等于 。是这些操作的最小总代价。
改变 (从0到 1,或者从 1到 0)。此操作的代价是 ,其中 是在这个改变之前对于所有 使得 ,的整数的个数。
存在 对不同的由和组成的长度为 的序列。
计算所有这些对中 的和,取模。
输入
第一行一个整数
第二行一共个整数,第个整数表示.
输出
输出的总和,取模
1
1000000000
999999993
样例解释
存在 2 对不同的由 0和 1组成且长度为 2 的序列(S,T),如下:
:通过将 ,改为 1,我们可以得到 ,代价为 1000000000,所以 $f(S,T)=$1000000000.
:通过将 改为 0,我们可以得到 ,代价为 1000000000,所以 =1000000000.
这些的和为 2000000000,需要取 ,即 999999993。
2
5 8
124
样例解释
存在 12 对不同的由 0 和 1组成且长度为 3 的序列,其中包括:
在这种情况下,如果我们先将 改为 1,然后将 ,改为 0,总共的代价是5x2+8= 18。我们不能以更小的代价得到,所以 .
5
52 67 72 25 79
269312