[ヒント] - ディスクリート

参考Baiduの百科事典

しかし、小さなデータ範囲データの数が多い、私たちは離散する必要のあるデータは、そう私たちはデータを処理する手助けとき。

3つの離散的なステップがあります。

  1.ソート

  2.重複排除

  3.インデックス

あなたは非常に良い使用のSTLを達成することができるようになります。

一例として、新鮮:

 

1      N = (読み取り)
2      ためには、int型 i = 1 ; iが<= N; iが++ ){
 3          H_を[I] = (読み取り)
4          時間[I] = H_ [I]。
5      }
 6      ソート(H_ + 1、H_ + N + 1 )。
7  //     INTサイズ=ユニーク(H_ + 1、H_ + N + 1)-h_。如果有重复元素的话
8      ためのint型 I = 1 ; I <= N; iは++ ){
 9          H [I] = LOWER_BOUND(H_ + 1、H_ + N + 1、H [I]) - H_。
10      }
 11     以下のためにint型 i = 1 ; iが<= N; iは++)のprintf(" %dを"、H [I])。

 

入力:

 

5
-1 23 -34 5 6

 

出力:

2 5 1 3 4

おすすめ

転載: www.cnblogs.com/Nelson992770019/p/11404949.html