A7531 | [ABC150E] Change a Little Bit
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
对于两个长度为 $n$ 的 $\texttt{01}$ 序列 $S,T$ ,我们定义 $f(S,T)$ 为通过以下操作将 $S$ 修改为 $T$ 的最小代价和: 选择一个 $S$ 中的二进制位 $S_{i}$ ,然后改变 $S_{i}$ 的 $\texttt{01}$ 状态,代价为 $D \times C_{i}$,其中 $D$ 是此次操作前满足 $S_{j}\ne T_{j}$ 的整数 $j$ 的数量,$C_{i}$ 是一个给定的序列中的一个值。
求当 $S$ 取 $2^n$ 种不同的状态,$T$ 取 $2^n$ 种不同的状态时,$f(S,T)$ 的和对 $1000000007$ 取模的结果。
求当 $S$ 取 $2^n$ 种不同的状态,$T$ 取 $2^n$ 种不同的状态时,$f(S,T)$ 的和对 $1000000007$ 取模的结果。
输入格式
第一行一个整数 $n$
第二行 $n$ 个整数 $C_{i}$
第二行 $n$ 个整数 $C_{i}$
输出格式
一行一个整数,表示答案
输入输出样例
输入 #1
1 1000000000
输出 #1
999999993
输入 #2
2 5 8
输出 #2
124
输入 #3
5 52 67 72 25 79
输出 #3
269312
$1 \le n \le 200000 , 1 \le C_{i} \le 10^9$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?