结论题+英语阅读理解——1266E

Posted zsben991126

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结论题+英语阅读理解——1266E相关的知识,希望对你有一定的参考价值。

/*
给定数组a[],表示每种资源数目标量,一开始都是0 
每次增,删,改一个三元组(s,t,u):如果资源s数量t,那么资源u+1,可链式增加
问每次修改后达到目标资源的最少用时 

结论:直接开数组cnt[i]累计每种资源通过三元组增加的值,多出a[i]的部分去掉就是贡献 

*/
#include<bits/stdc++.h>
using namespace std;
#define N 200005
#define ll long long 

map<pair<int,int>,int>mp; 
ll n,q,a[N],cnt[N],sum;

int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i],sum+=a[i];
    
    cin>>q;
    while(q--){
        int s,t,u;
        scanf("%d%d%d",&s,&t,&u);
        pair<int,int>p=make_pair(s,t);
        if(mp[p]!=0){
            int last=mp[p];
            if(cnt[last]<=a[last])sum++;
            cnt[last]--;
        }
        mp[p]=u;
        if(cnt[u]<a[u])sum--;
        cnt[u]++;
        cout<<sum<<
;
    }
    
}


 

 

以上是关于结论题+英语阅读理解——1266E的主要内容,如果未能解决你的问题,请参考以下文章

沙雕打表结论题

luogu P2041 分裂游戏(结论题)

ECNU620数学题(结论题)

[bzoj1369][Baltic2003]Gem_树形dp_结论题

bzoj4401块的计数 结论题

bzoj 5085: 最大——结论题qwq