loj#P576. 「LibreOJ NOI Round #2」签到游戏

「LibreOJ NOI Round #2」签到游戏

题目描述

传说在上古时代,有一个简单的签到游戏。能通关这个游戏的幸运挑战者,将会收到一份小礼包。

签到游戏是这样的:

出题人有 nn 个不透明的杯子,倒扣在桌面上,排成一列。这些杯子从左到右依次编号为 11nn,第 ii 个杯子里放着 AiA_i 个小球。当然,由于杯子是不透明且倒扣着的,挑战者并不知道 AiA_i 的具体数值

出题人对于第 ii 个杯子还设置了一个权值 BiB_iBiB_i 对挑战者公开

挑战者可以进行无限多轮操作。在一轮操作中,挑战者可以指定介于 11nn 之间的 l,rl,r,花费 gcdi=lrBi\gcd_{i=l}^r B_i 的代价,获取第 ll 个至第 rr 个杯子里的小球总数,也即获取 i=lrAi\sum_{i=l}^r A_i 的具体数值。其中,gcdi=lrBi\gcd_{i=l}^r B_i 表示 gcd(Bl,Bl+1,,Br)\gcd(B_l,B_{l+1},\dots,B_r)

挑战者需要达成的目标是:用尽量小的代价,正确地回答出题人,每个杯子里放着多少个小球,也即回答对于 1in1\leq i\leq nAiA_i 的具体数值。

现在,有 qq 个挑战者依次进行挑战。他们将告知你他们得到的 BiB_i,并希望你帮忙求出每个人为保证达成目标所需的最小代价。

经过你的观察,在第 kk 个挑战者挑战前,出题人会在上个挑战者的 {Ai},{Bi}\{A_i\},\{B_i\} 基础上,不改变 nn,重新随机生成 {Ai}\{A_i\},并修改 BB 序列的某个特定位置 pkp_kBpkB_{p_k},其余不变。

对于第一个挑战者,出题人会在初始序列的基础上修改。

如果你帮所有挑战者算出了正确的答案,他们会送给你一份礼物 —— 100 分。

输入格式

从标准输入读入数据。

第一行为两个整数 n,qn,q,分别表示出题人的杯子个数与挑战者个数。

第二行为 nn 个正整数,第 ii 个正整数表示初始时的 BiB_i

接下来 qq 行中,第 kk 行两个正整数 pk,Bpkp_k,B_{p_k},表示第 kk 个人挑战前出题人修改 BB 序列的位置,与修改后的数值。

输出格式

输出到标准输出。

输出 qq 行,第 kk 行为一个整数,表示第 kk 个挑战者达成目标所需要的最小代价。

5 5
1 2 3 4 5
1 2
3 4
5 6
1 8
2 4
5
6
10
10
12

数据范围与提示

对于所有数据,保证有 1n1051\leq n\leq 10^51q1051\leq q\leq 10^51Bi1091\leq B_i\leq 10^91pin1\leq p_i\leq n

子任务编号 分值 nn\leq qq\leq 特殊性质
1 12 200200 200200$$
2 20 10510^5 11
3 23 10001000
4 10 10510^5 BiB_i[1,109][1,10^9] 的整数中等概率随机分布
5 35