C - 座圧 ~座標圧縮 (直接書き換えVER)~

// 座標圧縮
// 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;
  }
}

verified

「ライブラリ」タグ

  • コピペしてすぐ使えるコードを記事内に書いたら「ライブラリ」タグを付けるようにした
  • コンテスト中「これ前やったな」と思って検索する時、まず自分のBlog内を検索することが多いので、その補助のため

追記:2024/03/11 配列+座圧→map