Educational Codeforces Round 78 D問題 - Segment Tree

Source

Educational Codeforces Round 78 D問題
Problem description

問題概要

省略

解法

省略

cLayversion 20191214-1)のコード

C++に変換後のコードはこちら

//no-unlocked
int N, L[5d5], R[5d5], ev[1d6];
int sz, arr[5d5];
{
  int i, j, k;
  unionFind uf;
  rd(N,(L--,R--)(N));
  rep(i,N) ev[L[i]] = i+1;
  rep(i,N) ev[R[i]] = -(i+1);
  uf.malloc(N);
  uf.init(N);
  rep(i,2N){
    j = ev[i];
    if(ev[i] > 0){
      j = ev[i] - 1;
      arr[sz++] = j;
    } else {
      j = -ev[i] - 1;
      for(k=sz-1;;k--){
        if(arr[k]==j) break;
        if(uf(arr[k],j)==0) wt("NO"), return 0;
      }
      arrErase(k,sz,arr);
    }
  }
  wt(if[uf.size(0)==N, "YES", "NO"]);
}

Current time: 2024年04月19日16時50分05秒
Last modified: 2019年12月22日19時51分30秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces
トップページに戻る

Logged in as: unknown user (not login)

ログイン: