題意:
給出sa數組和height數組,構造一個字典序最小的滿足條件的字符串
變式:條件變爲 給出sa和馬拉車的匹配數組
做法類似,先通過height/匹配數組求出 哪些位置相同/不同(連邊),然後構造
構造的話按照排好序的後綴來構造,每次放首字母(即按照sa[i]按順序放,i=1→n)
如果出現強制不同的情況就字母+1
這樣據ozy所說就是字典序最小的
大概感受就是要保證滿足限制,就不能直接按位放,而是要按sa[i]來放
並且sa[i]一定也是儘量往小的靠,因爲假如把一個sa[i]上的字母變大,由於有ch sa[i]<=ch sa[i+1],前面不變,後面可能變大,一定不優
所以按sa[i]放且儘量放小是最優策略