核心内容摘要
Winform实战:HttpClient调用WebApi的3种高效封装方式(附避坑指南)
P14962 [LBA-OI R2 A] 一次买够题目背景小清新签到题~题目描述小 Y 非常有钱所以她可以买下所有她想要的东西。
今天她来到商店购物。
商店有nnn件商品第iii件商品的价格为viv_ivi性价比为wiw_iwi。
一开始小 Y 会买下性价比最大的所有商品如果有多个就全部买下。
接下来有mmm个事件依次发生第i (1≤i≤m)i\;(1 \leq i \leq m)i(1≤i≤m)个事件可能为以下两种类型之一新增一件价格为xix_ixi性价比为yiy_iyi的商品其编号为ninini将编号为xix_ixi的商品的性价比更改为yiy_iyi。
请注意一旦小 Y 买下了某件商品之后即使这件商品的性价比降低小 Y 也不会出售这件商品。
每次事件后计算小 Y 已买下商品中的最低性价比LLL小 Y 会在此时买下所有性价比≥L\ge L≥L的未被购买的商品。
作为小 Y 的生活助理你需要统计每次事件后小 Y 的总花销。
输入格式第一行两个整数n,mn, mn,m分别表示商品数与事件数。
接下来nnn行第iii行包含两个整数vi,wiv_i, w_ivi,wi。
接下来mmm行第iii行包含三个整数oi,xi,yio_i, x_i, y_ioi,xi,yi其中oi1o_i 1oi1表明事件iii是新增商品事件oi2o_i 2oi2表明事件iii是修改性价比事件。
输出格式输出共mmm行。
第iii行包含一个整数表示事件iii后小 Y 的总花销。
输入输出样例 #1输入 #16 4 1 1 1 2 1 3 1 4 1 5 1 5 2 5 4 1 10 3 2 8 4 2 5 2输出 #13 3 13 15输入输出样例 #2输入 #25 5 11 4 13 6 14 3 20 8 0 5 2 4 5 2 5 0 2 4 10 1 12 2 2 1 0输出 #233 58 58 70 70说明/提示样例解释 1初始编号为5,65, 65,6的商品性价比最高因此所有小 Y 购买的商品为{5,6}\{5, 6\}{5,6}。
事件111中商品555的性价比被修改为444。
此时有w4≥w5w_4 \geq w_5w4≥w5因此小 Y 购买商品444而其余商品仍未被购买。
此时所有小 Y 购买的商品为{4,5,6}\{4, 5, 6\}{4,5,6}。
事件222中新增了一件商品其编号为628628628但其性价比只有333因此小 Y 没有购买它。
事件333中商品888的性价比被修改为444此时小 Y 购买商品888现在所有她购买的商品为{4,5,6,8}\{4, 5, 6, 8\}{4,5,6,8}。
事件444中商品555的性价比被修改为222最终所有小 Y 购买的商品为{2,3,4,5,6,8}\{2, 3, 4, 5, 6, 8\}{2,3,4,5,6,8}。
数据范围子任务编号特殊性质分值111n,m≤3000n, m \leq 3000n,m≤3000606060222wi,yi≤10w_i, y_i \leq 10wi,yi≤10151515333—252525对于所有数据保证1≤n≤2×1051 \leq n \leq 2\times 10^51≤n≤2×1051≤m≤2×1051 \leq m \leq 2\times 10^51≤m≤2×1050≤vi,wi,yi≤1090 \leq v_i, w_i, y_i \leq 10^90≤vi,wi,yi≤109oi∈{1,2}o_i \in \{1, 2\}oi∈{1,2}。
若oi1o_i 1oi1则0≤xi≤1090 \leq x_i \leq 10^90≤xi≤109否则保证编号为xix_ixi的商品已经存在。
思路用两个堆维护即可。
代码见下#includebits/stdc.husingnamespacestd;longlongn,m,op0,l0,o,x,y;structone{longlongu,w,i,x,zw;}a[500005];structtwo{longlongw,i,zw;};booloperator(one a1,one b