#P3992. [BJOI2017] 开车

    ID: 4703 远端评测题 1500ms 256MiB 尝试: 1 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2017各省省选北京O2优化排序前缀和分块

[BJOI2017] 开车

题目描述

有 nn 辆车,分别在 a1,a2,…,ana_1, a_2, \ldots , a_n 位置和 nn 个加油站,分别在 b1,b2,…,bnb_1, b_2, \ldots ,b_n 位置。

每个加油站只能支持一辆车的加油,所以你要把这些车开到不同的加油站加油。一个车从 xx 位置开到 yy 位置的代价为 ∣x−y∣|x-y|,问如何安排车辆,使得代价之和最小。

同时你有 qq 个操作,每次操作会修改第 ii 辆车的位置到 xx,你要回答每次修改操作之后最优安排方案的总代价。

输入格式

第一行一个正整数 nn。

接下来一行 nn 个整数 a1,a2,…,ana_1, a_2,\ldots,a_n。

接下来一行 nn 个整数 b1,b2,…,bnb_1, b_2,\ldots,b_n。

接下来一行一个正整数 qq,表示操作的个数。

接下来 qq 行,每行有两个整数 ii(1≤i≤n1\leq i\leq n)和 xx,表示将 ii 这辆车开到 xx 位置的操作。

所有的车和加油站的范围一直在 00 到 10910^9 之间。

输出格式

共 q+1q+1 行,第一行表示一开始的最优代价。

接下来 qq 行,第 ii 行表示操作 ii 之后的最优代价。

2
1 2
3 4
1
1 3

4
2

提示

【样例解释】

一开始将第一辆车开到位置 44,将第二辆车开到位置 33,代价为 ∣4−1∣+∣3−2∣=4|4-1|+|3-2|=4。

修改后第一辆车的位置变成 33,代价为 ∣3−3∣+∣4−2∣=2|3-3|+|4-2|=2。

测试点 数据范围
11 n≤103n\leq 10^3,q=0q=0
22 n≤103n\leq 10^3,q≤103q\leq 10^3
33 n≤104n\leq 10^4,q≤104q\leq 10^4
44 n≤5×104n\leq 5\times 10^4,q=0q=0
5∼65\sim 6 n≤3×104n\leq 3\times 10^4,q≤3×104q\leq 3\times 10^4
7∼107\sim 10 n≤5×104n\leq 5\times 10^4,q≤5×104q\leq 5\times 10^4

对于 100%100\% 的数据,1≤n≤5×1041\leq n\leq 5\times 10^4,0≤q≤5×1040\leq q\leq 5\times 10^4。