From fa903c96c904a2f31bae8d56685d20a124dee14b Mon Sep 17 00:00:00 2001 From: Zengtudor Date: Mon, 14 Jul 2025 08:48:46 +0800 Subject: [PATCH] update --- src/7/13/U82726.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/7/13/U82726.cpp b/src/7/13/U82726.cpp index d85c88a..93ae8ea 100644 --- a/src/7/13/U82726.cpp +++ b/src/7/13/U82726.cpp @@ -35,7 +35,8 @@ ll getfather(ll n){ return nxt[n]; } -#define NV(v) {std::cout<<#v<<" : "<<(v)<<'\n';} +// #define NV(v) {std::cout<<#v<<" : "<<(v)<<'\n';} +#define NV(v) int main(){ v.resize(maxn); @@ -48,18 +49,18 @@ int main(){ for(ll i=1;i<=q;i++){ ll x,y,z; x=getnum();y=getnum();z=getnum(); - v.push_back({x,y,z}); + v[i]={x,y,z}; } - for(ll i=1;i<=n;i++)nxt[i]=i; - for(ll i=n-1;i>=0;i--){ + for(ll i=1;i<=n+1;i++)nxt[i]=i; + for(ll i=n;i>=1;i--){ auto[l,r,c] = v[i]; NV(l)NV(r)NV(c) - ll idx=nxt[l]; + ll idx=getfather(l); while(idx<=r){ - ans[idx]=c; - nxt[idx]=getfather(nxt[idx+1]); - idx=nxt[idx]; NV(idx) + ans[idx]=c; + nxt[idx]=getfather(getfather(idx+1)); + idx=getfather(idx); } } for(ll i=1;i<=n;i++){