; ///記錄原始資料
int ans[maxn]
; ///記錄答案
int b[maxn]
; ///這是乙個01序列,某乙個位置p上的位置為1,代表著a[p]這個數字最後出現的位置是p,而a[p]曾經出現的位置上都是0
int n;
maplastindex;
struct tree
t[maxn*4]
;void build(int p, int l, int r)
int mid=
(l+r)
>>1; ///
build(p*2,l,mid)
;///建左子樹
build(p*2+1,mid+1,r)
; ///建右子樹
t[p].sum=t[p*2].sum+t[p*2+1].sum;
}void change(int p,int x,int v)//單點修改
int mid=
(t[p].l+t[p].r)
>>1;
if(x<=mid) change(p*2,x,v)
;else change(p*2+1,x,v)
; t[p].sum=t[p*2].sum+t[p*2+1].sum;
}int ask(int p,int x,int y)
int mid=
(l+r)/2;
int ans=0;
if(x<=mid)
if(y>mid)
return ans;
}int main(
) build(1,1,n)
; for(int i=1;i<=n;i++)
else
lastindex[num]
=i; ///更新
} for(int i=1;i<=n;i++)
printf(
"\n");
}
藍橋杯2016初賽 壓縮變換
題目描述 小明最近在研究壓縮演算法。他知道,壓縮的時候如果能夠使得數值很小,就能通過熵編碼得到較高的壓縮比。然而,要使數值很小是乙個挑戰。最近,小明需要壓縮一些正整數的序列,這些序列的特點是,後面出現的數字很大可能是剛出現過不久的數字。對於這種特殊的序列,小明準備對序列做乙個變換來減小數字的值。變換...
密碼脫落,藍橋杯,2016初賽
題目描述 x星球的考古學家發現了一批古代留下來的密碼。這些密碼是由a b c d 四種植物的種子串成的序列。仔細分析發現,這些密碼串當初應該是前後對稱的 也就是我們說的映象串 由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。你的任務是 給定乙個現在看到的密碼串,計算一下從當初的狀態,它要...
藍橋杯2016初賽 卡片換位
你玩過華容道的遊戲嗎?這是個類似的,但更簡單的遊戲。看下面 3 x 2 的格仔 a b 在其中放5張牌,其中a代表關羽,b代表張飛,代表士兵。還有乙個格仔是空著的。你可以把一張牌移動到相鄰的空格中去 對角不算相鄰 遊戲的目標是 關羽和張飛交換位置,其它的牌隨便在 都可以。輸入輸入存在多組測試資料,對...