题目名称 4465. 无法拒绝孤独的她
输入输出 cantrefuse.in/out
难度等级
时间限制 2000 ms (2 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatar 于2026-08-27加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:6, 提交:11, 通过率:54.55%
Gravatar郑霁桓 100 2.431 s 10.63 MiB C++
Gravatar郑霁桓 100 2.489 s 10.65 MiB C++
Gravatardjyqjy 100 3.257 s 25.81 MiB C++
Gravatardjyqjy 100 3.279 s 25.83 MiB C++
Gravatar 100 3.340 s 25.77 MiB C++
GravatarRuyi 100 3.751 s 38.34 MiB C++
Gravatar__0w0__ 50 11.238 s 17.90 MiB C++
Gravatarexil 50 11.356 s 9.89 MiB C++
Gravatar郑霁桓 50 11.392 s 8.75 MiB C++
Gravatar郑霁桓 0 0.028 s 3.67 MiB C++
本题关联比赛
2026.8.28
关于 无法拒绝孤独的她 的近10条评论(全部评论)

4465. 无法拒绝孤独的她

★   输入文件:cantrefuse.in   输出文件:cantrefuse.out   简单对比
时间限制:2 s   内存限制:512 MiB

【题目背景】

彩花被空拿捏了,但是现在让我们假设彩花会魔法呢:)

【题目描述】

有三个数组 $a$、$b$ 和 $c$。$a$ 和 $b$ 的长度为 $n$,$c$ 的长度为 $n-1$。令 $W(a,b,c)$ 表示通过如下过程酿造出的葡萄酒的升数。

建立 $n$ 个水塔。第 $i$ 个水塔初始有 $a_i$ 升水,且彩花在第 $i$ 个水塔前的法力为 $b_i$。此外,对于每个 $1 \le i \le n-1$,水塔 $i$ 与 $i+1$ 之间有一根容量为 $c_i$ 的阀门相连。

对于每个 $i$ 从 $1$ 到 $n$,依次进行以下操作:

1. 彩花在水塔 $i$ 取出最多 $b_i$ 升水,并将其转化为葡萄酒。

2. 如果 $i \neq n$,则水塔 $i$ 剩余的水中,有最多 $c_i$ 升可以通过阀门流入水塔 $i+1$。

共有 $q$ 次操作。每次操作给定整数 $p$、$x$、$y$ 和 $z$,将 $a_p := x$,$b_p := y$,$c_p := z$。每次操作后,请告诉空和彩花 $W(a,b,c)$ 的值。注意,数组 $a$、$b$ 和 $c$ 的修改会持续影响后续操作。

注意,当 $p = n$ 时,$c_n$ 不存在,因此 $z$ 的值无关紧要。

【输入格式】

第一行包含两个整数 $n$ 和 $q$($2 \le n \le 5 \cdot 10^5$,$1 \le q \le 5 \cdot 10^5$)——水塔数量和操作次数。

第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i \le 10^9$)——第 $i$ 个水塔初始的水量。

第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($0 \le b_i \le 10^9$)——第 $i$ 个水塔前彩花的法力。

第四行包含 $n-1$ 个整数 $c_1, c_2, \ldots, c_{n-1}$($0 \le c_i \le 10^{18}$)——水塔 $i$ 与 $i+1$ 之间的管道容量。

接下来的 $q$ 行,每行包含四个整数 $p$、$x$、$y$ 和 $z$($1 \le p \le n$,$0 \le x, y \le 10^9$,$0 \le z \le 10^{18}$)——对数组 $a$、$b$ 和 $c$ 的一次修改。

注意,当 $p = n$ 时,$c_n$ 不存在,因此 $z$ 的值无关紧要。

【输出格式】

输出 $q$ 行,每行一个整数,表示每次操作后 $W(a, b, c)$ 的值。

【样例输入1】

4 3
3 3 3 3
1 4 2 8
5 2 1
4 3 8 1000000000
2 5 1 1
3 0 0 0

【样例输出1】

11
8
5 

【样例输入2】

5 5
10 3 8 9 2
3 4 10 8 1
6 5 9 2
5 4 9 1
1 1 1 1
2 7 4 8
4 1 1 1
1 8 3 3

【样例输出2】

31
25
29
21
23 

【样例说明】

第一次操作不会对数组进行任何修改。 

- 当 $i=1$ 时,水塔 1 有 $3$ 升水,$1$ 升被转化为葡萄酒,剩余 $2$ 升流入水塔 2。 

- 当 $i=2$ 时,水塔 2 有 $5$ 升水,$4$ 升被转化为葡萄酒,剩余 $1$ 升流入水塔 3。

- 当 $i=3$ 时,水塔 3 有 $4$ 升水,$2$ 升被转化为葡萄酒。虽然剩余 $2$ 升,但只有 $1$ 升能流入水塔 4。

- 当 $i=4$ 时,水塔 4 有 $4$ 升水,全部 $4$ 升被转化为葡萄酒。 因此,第一次操作后 $W(a,b,c)=1+4+2+4=11$。

第二次操作后,数组变为 $a=[3,5,3,3]$,$b=[1,1,2,8]$,$c=[5,1,1]$。

- 当 $i=1$ 时,水塔 1 有 $3$ 升水,$1$ 升被转化为葡萄酒,剩余 $2$ 升流入水塔 2。

- 当 $i=2$ 时,水塔 2 有 $7$ 升水,$1$ 升被转化为葡萄酒。虽然剩余 $6$ 升,但只有 $1$ 升能流入水塔 3。 

- 当 $i=3$ 时,水塔 3 有 $4$ 升水,$2$ 升被转化为葡萄酒。虽然剩余 $2$ 升,但只有 $1$ 升能流入水塔 4。

- 当 $i=4$ 时,水塔 4 有 $4$ 升水,全部 $4$ 升被转化为葡萄酒。 因此,第二次操作后 $W(a,b,c)=1+1+2+4=8$。

第三次操作后,数组变为 $a=[3,5,0,3]$,$b=[1,1,0,8]$,$c=[5,1,0]$。

- 当 $i=1$ 时,水塔 1 有 $3$ 升水,$1$ 升被转化为葡萄酒,剩余 $2$ 升流入水塔 2。

- 当 $i=2$ 时,水塔 2 有 $7$ 升水,$1$ 升被转化为葡萄酒。虽然剩余 $6$ 升,但只有 $1$ 升能流入水塔 3。

- 当 $i=3$ 时,水塔 3 有 $1$ 升水,$0$ 升被转化为葡萄酒。虽然剩余 $1$ 升,但无法流入水塔 4。

- 当 $i=4$ 时,水塔 4 有 $3$ 升水,全部 $3$ 升被转化为葡萄酒。

因此,第三次操作后 $W(a,b,c)=1+1+0+3=5$。

【数据规模与约定】

对于 $20 \%$ 的数据,满足 $1\le n,q \le 5000$。

对于另外 $10\%$ 的数据,满足任意时刻 $\forall i,a_i=0$。

对于另外 $10\%$ 的数据,满足任意时刻 $\forall i,b_i=0$。

对于另外 $10\%$ 的数据,满足任意时刻 $\forall i,c_i=0$。

大洋里