update
This commit is contained in:
parent
b0a3e17463
commit
ce755d9a44
@ -1,6 +1,10 @@
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
#include <cstdio>
|
||||
#include <iostream>
|
||||
#include <tuple>
|
||||
#include <vector>
|
||||
|
||||
using ll = int64_t;
|
||||
|
||||
@ -8,7 +12,7 @@ bool is_num(char c){
|
||||
return '0'<=c&&c<='9';
|
||||
}
|
||||
|
||||
ll get_num(){
|
||||
ll getnum(){
|
||||
char c;
|
||||
do {
|
||||
c=getchar();
|
||||
@ -20,6 +24,46 @@ ll get_num(){
|
||||
return n;
|
||||
}
|
||||
|
||||
const ll maxn=1e6+5;
|
||||
std::vector<std::tuple<ll,ll,ll>> v;
|
||||
std::vector<ll> nxt;
|
||||
std::vector<ll> ans;
|
||||
|
||||
ll getfather(ll n){
|
||||
if(nxt[n]==n)return n;
|
||||
nxt[n] = getfather(nxt[n]);
|
||||
return nxt[n];
|
||||
}
|
||||
|
||||
#define NV(v) {std::cout<<#v<<" : "<<(v)<<'\n';}
|
||||
|
||||
int main(){
|
||||
|
||||
v.resize(maxn);
|
||||
nxt.resize(maxn);
|
||||
ans.resize(maxn);
|
||||
|
||||
ll n,q;
|
||||
n=getnum();
|
||||
q=getnum();
|
||||
for(ll i=1;i<=q;i++){
|
||||
ll x,y,z;
|
||||
x=getnum();y=getnum();z=getnum();
|
||||
v.push_back({x,y,z});
|
||||
}
|
||||
for(ll i=1;i<=n;i++)nxt[i]=i;
|
||||
for(ll i=n-1;i>=0;i--){
|
||||
auto[l,r,c] = v[i];
|
||||
NV(l)NV(r)NV(c)
|
||||
ll idx=nxt[l];
|
||||
while(idx<=r){
|
||||
ans[idx]=c;
|
||||
nxt[idx]=getfather(nxt[idx+1]);
|
||||
idx=nxt[idx];
|
||||
NV(idx)
|
||||
}
|
||||
}
|
||||
for(ll i=1;i<=n;i++){
|
||||
std::cout<<ans[i]<<' ';
|
||||
}
|
||||
std::cout<<'\n';
|
||||
}
|
Loading…
Reference in New Issue
Block a user