T1:Sandy的卡片
做這道題時對$height[]$理解不深刻,導致一晚上沒$A$掉這道題
顯然是把差值當成字符數組,把串連起來處理出$height[]$
之后二分,開一個棧記錄存儲出現的元素,只要元素個數大於等於$n$即可判斷合法
T2:喵星球上的點名
延續上一道題的套路,把名字和詢問連成一個串
之后對於每個詢問的起始位置二分出左右能做貢獻的區間
現在問題轉化為m個區間,求每個區間的不同顏色個數以及每個顏色的出現次數
可以用莫隊解決
(然而二分完直接暴掃也可以$AC$)
T3:字符串
直接做的話前一個串有長度的限制,考慮二分答案來消除限制
之后便可以找到能貢獻答案的區間查詢區間內是否有$[a,b-len+1]$
便是主席樹的板子
(這道題直接掃合法區間可以比主席樹快$7000ms+$)
T4:差異
思路很簡單,找出每個$height$成為最小值的區間計算答案即可
T5:相似子串
首先一個子串一定是后綴的前綴
所以$height[]$處理完之后相當於把子串也排好序了
直接二分便可以找出排名為i的子串
第一問直接查,第二問二分長度后再查,沒必要把串反過來或者用hash
T6:品酒大會
四次理解錯題意后還是痛苦$AC$了
最好想的思路便是維護最大(小)次大(小)值每次合並區間時硬查更新
但是發現並不需要維護次大(小)值,只需要把兩個區間內的最大*最大,最小*最小更新答案即可
其他的情況一定在原來合並區間時被統計過
注意求解第一問時$height[1]$是沒有直接貢獻的應該把它跳過
T7:外星聯絡
雖然放在了后綴數組(二)里,但是的確是個板子題
對於每個后綴,只需要統計$[h[i-1]+1,h[i]]$在后面出現了多少次
加上2便是答案
T8:股市的預測
先咕了
