2026/5/21 21:47:29
网站建设
项目流程
西安网站建设创意,域名网站怎么做的,北京正规网站建设公司,绿色建筑信息平台P14962 [LBA-OI R2 A] 一次买够
题目背景
小清新签到题~
题目描述
小 Y 非常有钱#xff0c;所以她可以买下所有她想要的东西。
今天#xff0c;她来到商店购物。商店有 nnn 件商品#xff0c;第 iii 件商品的价格为 viv_ivi#xff0c;性价比为 wiw_iwi。一开始#…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 b1){returna1.wb1.w;}booloperator(two a1,two b1){returna1.wb1.w;}priority_queueoneq;priority_queuetwow;maplonglong,longlongmp;intmain(){cinnm;for(inti1;in;i){scanf(%lld%lld,a[i].u,a[i].w);a[i].ii;lmax(l,a[i].w);q.push(a[i]);mp[i]0;}while(q.size()1q.top().wl){a[q.top().i].x1;opq.top().u;w.push({q.top().w,q.top().i,q.top().zw});q.pop();}//coutopendl;for(inti1;im;i){scanf(%lld%lld%lld,o,x,y);if(o1){//n;a[ni](one){x,y,ni,0,i};q.push(a[ni]);mp[ni]i;}else{a[x].wy;a[x].zwi;mp[x]i;if(a[x].x1){//coutdendl;lmin(l,a[x].w);w.push({a[x].w,a[x].i,a[x].zw});}else{q.push(a[x]);}}while(w.size()1w.top().zw!mp[w.top().i]){w.pop();}while(q.size()1q.top().ww.top().w){if(q.top().zwmp[q.top().i]){a[q.top().i].x1;opq.top().u;w.push({q.top().w,q.top().i,q.top().zw});}q.pop();}coutop\n;}return0;}