Exemple #1
0
 def add(self, i):
     t = self.treap
     if t:
         from random import randint
         p = randint(0,100)
         self.treap = t.add(Treap, Treap(p,i))
     else:
         self.treap = Treap.make_treap(Treap, [i])
 def recover(self):
     treap = Treap.make_treap(Treap, range(1, len(self.hints)+1))
     res = []
     for hint in reversed(self.hints):
         node = treap.k_th(treap.size()-1-hint)
         treap = treap.delete_val(node.val)
         res.insert(0, node.val)
     return res