接受資料時使用map標記某個數值最後出現的位置 記錄乙個last表示last + 1到i範圍內數字沒有重複的
接受的時候map檢測數字出現過沒有 如果出現過則last更新為map所儲存的值(此處要取最大值保證last不會向前移動) 並且每次記錄數值在map中 並計算答案
#include
#include
using namespace std;
typedef
long
long ll;
const
int inf =
0x3f3f3f3f
;int
main()
cout << ans << endl;
}return0;
}
zzulioj 1536 小明的序列 樹狀陣列
ac通道 題面很簡單,直接分析問題吧 先考慮怎麼處理資料,對於每乙個整數 n 可以用乙個對映關係儲存它的對應位置,即map n i 表示 n 是第 i 個數,然後考慮對於操作1,刪除乙個數字,只需要找到它在的對應位置,然後讓這個位置後面的每乙個值都減一即可,很容易可以想到差分,但是中間會後詢問操作,...
序列遊戲2
實驗任務 有乙個字串序列 s,初始時是空的,定義以下兩種操作 i x 在序列的末尾插入字串 x。q x 輸出在序列 s 中有幾個字串是以 x 為字首的。字串 x 的長度小於 10,只包含小寫字母。資料輸入 輸入第一行是乙個整數m 1 m 100000 表示有m 種操作。接下來m 行,表示 m 種操作...
1079 a b(多例項測試2) ZZULIOJ
題目描述 計算a b 輸入輸入資料有多組。每組一行,為整數a,b。輸出對每行輸入,輸出a b的值,單獨佔一行。樣例輸入 copy 1 23 4 樣例輸出 copy37 提示此類多例項測試解決方案 while scanf d d a,b eof 注 eof是巨集定義常量 1,scanf函式遇到檔案結束...