两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

2271 問題 H: 藍橋杯2016年第七屆真題-壓縮變換

時間限制: 1s 內存限制: 128MB 提交: 589 解決: 75
題目描述
小明最近在研究壓縮算法。
他知道,壓縮的時候如果能夠使得數值很小,就能通過熵編碼得到較高的壓縮比。
然而,要使數值很小是一個挑戰(zhàn)。

最近,小明需要壓縮一些正整數的序列,這些序列的特點是,后面出現的數字很大可能是剛出現過不久的數字。對于這種特殊的序列,小明準備對序列做一個變換來減小數字的值。

變換的過程如下:
從左到右枚舉序列,每枚舉到一個數字,如果這個數字沒有出現過,剛將數字變換成它的相反數,如果數字出現過,則看它在原序列中最后的一次出現后面(且在當前數前面)出現了幾種數字,用這個種類數替換原來的數字。

比如,序列(a1, a2, a3, a4, a5)=(1, 2, 2, 1, 2)在變換過程為:
a1: 1未出現過,所以a1變?yōu)?1;
a2: 2未出現過,所以a2變?yōu)?2;
a3: 2出現過,最后一次為原序列的a2,在a2后、a3前有0種數字,所以a3變?yōu)?;
a4: 1出現過,最后一次為原序列的a1,在a1后、a4前有1種數字,所以a4變?yōu)?;
a5: 2出現過,最后一次為原序列的a3,在a3后、a5前有1種數字,所以a5變?yōu)?。
現在,給出原序列,請問,按這種變換規(guī)則變換后的序列是什么。
輸入
輸入第一行包含一個整數n,表示序列的長度。

第二行包含n個正整數,表示輸入序列。

對于30%的數據,n<=1000;
對于50%的數據,n<=30000;
對于100%的數據,1 <=n<=100000,1<=ai<=10^9

輸出
輸出一行,包含n個數,表示變換后的序列。
樣例輸入
5
1 2 2 1 2
樣例輸出
-1 -2 0 1 1
提示
零基礎同學可以先學習視頻課程,包含C/C++、Python、百練、藍橋杯輔導、算法數據結構等課程,提供視頻講解以及配套習題,還有老師答疑,點擊這里了解課程詳情

比賽公告

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111