#X1002. 最小询问的和

    传统题 1000ms 256MiB 显示标签>模拟字符串其他数学数组优化

最小询问的和

题目描述

给定两个长度为 NN 的整数序列: A=(A1,A2,,An)A = (A₁, A₂, …, Aₙ)B=(B1,B2,,Bn)B = (B₁, B₂, …, Bₙ)。 需要按顺序处理 QQ 个查询。第 ii 个查询 1iQ(1≤i≤Q) 描述如下: 给定一个字符 cicᵢ 和整数 Xi,ViXᵢ, Vᵢ:

  • 如果 cicᵢ = A,则将 A[Xi]A[Xᵢ] 修改为 ViVᵢ
  • 如果 cicᵢ = B,则将 B[Xi]B[Xᵢ] 修改为 ViVᵢ

然后,输出 k=1Nmin(Ak,Bk)∑ₖ₌₁ᴺ min(Aₖ, Bₖ)(即所有 min(Ak,Bk)min(Aₖ, Bₖ) 的和)。

输入格式

输入从标准输入按以下格式给出:

N Q
A₁ A₂ ... Aₙ
B₁ B₂ ... Bₙ
c₁ X₁ V₁
c₂ X₂ V₂
⋮
c_Q X_Q V_Q

输出格式

输出 QQ 行。第 ii1iQ(1≤i≤Q) 应包含第 ii 个查询的答案。

数据范围

1N,Q2e5.1 \leq N, Q \leq 2e5.

1Ai,Bi1e9.1 \leq Aᵢ, Bᵢ \leq 1e9.

1XiN.1 \leq Xᵢ \leq N.

1Vi1e9.1 \leq Vᵢ \leq 1e9.

输入样例:

4 3
3 1 4 1
2 7 1 8
A 2 3
B 3 3
A 1 7

输出样例:

7
9
9

说明

11 次查询后: A=(3,3,4,1)B=(2,7,1,8)A = (3, 3, 4, 1),B = (2, 7, 1, 8) 因此,输出 $min(3,2) + min(3,7) + min(4,1) + min(1,8) = 2 + 3 + 1 + 1 = 7$(在第 11 行)

22 次查询后: A=(3,3,4,1)B=(2,7,3,8)A = (3, 3, 4, 1),B = (2, 7, 3, 8) 因此,输出 $min(3,2) + min(3,7) + min(4,3) + min(1,8) = 2 + 3 + 3 + 1 = 9$(在第 22 行)

33 次查询后: A=(7,3,4,1)B=(2,7,3,8)A = (7, 3, 4, 1),B = (2, 7, 3, 8) 因此,输出 $min(7,2) + min(3,7) + min(4,3) + min(1,8) = 2 + 3 + 3 + 1 = 9$(在第 33 行)