传统题 1000ms 512MiB

翻转费用

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

翻转费用

题目描述

给定两个仅由 0011 组成的长度为 NN 的整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N)B=(B1,B2,,BN)B = (B_1, B_2, \ldots, B_N),以及一个长度为 NN 的正整数序列 C=(C1,C2,,CN)C = (C_1, C_2, \ldots, C_N)

你可以对 AA 执行任意次(包括 0 次)以下操作,目标是将 AA 变为 BB,并求出所需支付的最小总成本:

  1. 反转操作:选择一个整数 ii1iN1 \leq i \leq N),将 AiA_i 的值反转(0 变 1,1 变 0);
  2. 成本支付:每次操作后,需支付的成本为当前序列 AA 中所有元素与对应 CiC_i 的乘积之和,即 k=1NAkCk\sum_{k=1}^N A_k C_k

输入格式

第一行输入整数 NN; 第二行输入序列 AANN 个元素 A1 A2  ANA_1\ A_2\ \ldots\ A_N; 第三行输入序列 BBNN 个元素 B1 B2  BNB_1\ B_2\ \ldots\ B_N; 第四行输入序列 CCNN 个元素 C1 C2  CNC_1\ C_2\ \ldots\ C_N

输出格式

输出将 AA 变为 BB 所需的最小总成本。

样例

样例输入 1

4
0 1 1 1
1 0 1 0
4 6 2 9

样例输出 1

16

样例解释 1

通过以下操作序列达成目标,总成本为 1616

  1. 反转 A4A_4,此时 A=(0,1,1,0)A = (0, 1, 1, 0),支付成本 $0 \times 4 + 1 \times 6 + 1 \times 2 + 0 \times 9 = 8$;
  2. 反转 A2A_2,此时 A=(0,0,1,0)A = (0, 0, 1, 0),支付成本 $0 \times 4 + 0 \times 6 + 1 \times 2 + 0 \times 9 = 2$;
  3. 反转 A1A_1,此时 A=(1,0,1,0)A = (1, 0, 1, 0)(与 BB 一致),支付成本 $1 \times 4 + 0 \times 6 + 1 \times 2 + 0 \times 9 = 6$。

样例输入 2

5
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

样例输出 2

0

样例解释 2

初始时 AA 已与 BB 完全一致,无需执行任何操作,成本为 00

样例输入 3

20
1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0
0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0
52 73 97 72 54 15 79 67 13 55 65 22 36 90 84 46 1 2 27 8

样例输出 3

2867

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • Ai,Bi{0,1}A_i, B_i \in \{0, 1\}(序列 AABB 仅含 0 和 1)
  • 1Ci1061 \leq C_i \leq 10^6(序列 CC 为正整数)
  • 所有输入值均为整数

提示

  • 树状数组
  • 前缀和
  • 贪心
  • 二分

子任务

子任务编号 分值 约束条件 特殊性质 子任务依赖
121-2 1010 N100N \leq 100
343-4 所有的B值都为1
565-6 所有的B值都为0
787-8 N2000N \leq 2000
9109-10 所有的B值都为1
111211-12 所有的B值都为0
1313 N2×105N \leq 2 \times 10^5 所有的A值都为1
1414 所有的A值都为0
152015-20 3030

csp-j/s 模拟赛

未参加
状态
已结束
规则
ACM/ICPC
题目
6
开始于
2025-10-25 8:00
结束于
2025-10-25 12:00
持续时间
4 小时
主持人
参赛人数
10