Exemplo n.º 1
0
 def preprocess(self, tree):
     self.n = tree.size()
     root = tree.get_root()
     if root is None:
         print sys.stderr, "Aborting LCA preprocessing."
         return False
     self.E = []
     self.L = []
     self.dfs(root)
     assert len(self.E) == 2 * self.n - 1
     assert len(self.L) == 2 * self.n - 1
     self.R = {}
     for i in xrange(len(self.E)):
         if not self.R.has_key(self.E[i]):
             self.R[self.E[i]] = i
     self.rmq = RMQRestrict()
     self.rmq.preprocess(self.L)
     return True
Exemplo n.º 2
0
 def setUp(self):
     self.rmq = RMQRestrict()