各位大大好
這是我目前卡住的問題
https://zoj.pintia.cn/problem-sets/91827364500/problems/91827365611
這是一題經典的區間詢問第k大元素包含單點修改的操作,我使用了BIT+Treap的樹套樹解法,Treap我是使用指標的寫法,每個bit儲存的是Treap的根結點,寫完的結果是WA。
不好意思直接丟200行code上來,所以只想詢問有沒有甚麼沒考慮到的點,如果願意看code協助debug的話之後再補,感謝願意幫助的各位。
目前只有想到這些點需要考慮:
1.初始化bit為nullptr,以及insert元素到treap時,左右節點需設為nullptr,避免節點亂連的情況
2.刪除元素操作,若該元素有好幾個,只需要刪除一個
這是我冗長的程式碼(小心傷眼):
https://github.com/say859462/CPP-codebook/blob/main/h.cpp
因為我懶惰也看不懂你的程式碼
Google這篇供參考
看看跟你寫的有什麼不一樣
你已經寫出一個版本
應該很容易就看出差異點並解決問題