題意為給定n(n<=100000)個(gè)數(shù)字,然后給出m(m<=50000)個(gè)詢問,每次詢問在[i,j]區(qū)間內(nèi)的第k大的數(shù)字是多少。
用SBT的方法做就是先把m個(gè)詢問按照起點(diǎn)從小到大排序。對(duì)于每個(gè)詢問區(qū)間[i,j],要調(diào)整SBT中的元素,使得樹中只有[i,j]中的全部元素,多余元素刪除,然后就可以求得樹中第k大的數(shù)。代碼就當(dāng)模板了。哪里有錯(cuò)誤希望大家指出,謝謝。
SBT理論知識(shí)詳見陳啟峰大牛的論文。
這里有論文的中文版。
POJ2761_SBT