Codeforces 38G Queue 伸展樹
題目鏈接:點擊打開鏈接
題意:
給定n個人來排隊
每個人有2個參數,身份優先級和臉皮厚度 ==
來的那個人會排到隊尾
如果這個人的優先級比他前面那個人的優先級大就會和前面那個人交換位置。
交換一次臉皮厚度減1, 一直交換到隊頭或者臉皮厚度為0
交換完成後下一個人才會到來。
問:
隊伍最後的情況(從隊頭到隊尾依次輸出每個人的編號)
思路:splay
維護子樹的最小值。
插入時遞歸插入,若當前點是空就插這個位置。
然後就是裸的splay。。
==
#include
#include
#include
#include
#include
#include
#include