C - 座圧 ~座標圧縮~

f:id:peroon:20191027180151j:plain

Quiz

https://atcoder.jp/contests/abc036/tasks/abc036_c

解法

  • 座標圧縮(座圧と呼ばれる)をするだけ

AC Code

https://atcoder.jp/contests/abc036/submissions/8143705

// 座標圧縮
// Aをそのまま書き換えるVER
void compress(vector<ll>& A){  
  // 変換表
  auto B = A;
  sort(ALL(B));
  auto it = unique(ALL(B));
  B.erase(it, B.end());
 
  ll N = A.size();
  FOR(i, 0, N){
      ll a = lower_bound(ALL(B), A[i]) - B.begin();
      A[i] = a;
  }
}

タグ

  • コピペしてすぐ使えるコードを記事内に書いたら code タグを付けるようにしました
  • コンテスト中「これ前やったな」と思って検索する時、自分のBlog内を検索するのですが、コピペ用コードを見つける時に役立つと思われるため