@@ -35,13 +35,13 @@ def right(self, idx):
3535 """
3636 return idx * 2 + 1
3737
38- def build (self , idx , l , r ):
39- if l == r :
40- self .st [idx ] = self .A [l ]
38+ def build (self , idx , left , right ):
39+ if left == right :
40+ self .st [idx ] = self .A [left ]
4141 else :
42- mid = (l + r ) // 2
43- self .build (self .left (idx ), l , mid )
44- self .build (self .right (idx ), mid + 1 , r )
42+ mid = (left + right ) // 2
43+ self .build (self .left (idx ), left , mid )
44+ self .build (self .right (idx ), mid + 1 , right )
4545 self .st [idx ] = max (self .st [self .left (idx )], self .st [self .right (idx )])
4646
4747 def update (self , a , b , val ):
@@ -56,18 +56,18 @@ def update(self, a, b, val):
5656 """
5757 return self .update_recursive (1 , 0 , self .N - 1 , a - 1 , b - 1 , val )
5858
59- def update_recursive (self , idx , l , r , a , b , val ):
59+ def update_recursive (self , idx , left , right , a , b , val ):
6060 """
6161 update(1, 1, N, a, b, v) for update val v to [a,b]
6262 """
63- if r < a or l > b :
63+ if right < a or left > b :
6464 return True
65- if l == r :
65+ if left == right :
6666 self .st [idx ] = val
6767 return True
68- mid = (l + r ) // 2
69- self .update_recursive (self .left (idx ), l , mid , a , b , val )
70- self .update_recursive (self .right (idx ), mid + 1 , r , a , b , val )
68+ mid = (left + right ) // 2
69+ self .update_recursive (self .left (idx ), left , mid , a , b , val )
70+ self .update_recursive (self .right (idx ), mid + 1 , right , a , b , val )
7171 self .st [idx ] = max (self .st [self .left (idx )], self .st [self .right (idx )])
7272 return True
7373
@@ -83,17 +83,17 @@ def query(self, a, b):
8383 """
8484 return self .query_recursive (1 , 0 , self .N - 1 , a - 1 , b - 1 )
8585
86- def query_recursive (self , idx , l , r , a , b ):
86+ def query_recursive (self , idx , left , right , a , b ):
8787 """
8888 query(1, 1, N, a, b) for query max of [a,b]
8989 """
90- if r < a or l > b :
90+ if right < a or left > b :
9191 return - math .inf
92- if l >= a and r <= b :
92+ if left >= a and right <= b :
9393 return self .st [idx ]
94- mid = (l + r ) // 2
95- q1 = self .query_recursive (self .left (idx ), l , mid , a , b )
96- q2 = self .query_recursive (self .right (idx ), mid + 1 , r , a , b )
94+ mid = (left + right ) // 2
95+ q1 = self .query_recursive (self .left (idx ), left , mid , a , b )
96+ q2 = self .query_recursive (self .right (idx ), mid + 1 , right , a , b )
9797 return max (q1 , q2 )
9898
9999 def show_data (self ):
0 commit comments