freedom.9
Senior Member
Q4 8 điểm thì bỏ cuộc ko có gì lạ, đang ngồi F5 xem mấy thằng nó phang nhau chờ solutionLại tạch Q4, Q1-3 xong trong 15p. Tắt máy rồi, chán vãi.

Q4 8 điểm thì bỏ cuộc ko có gì lạ, đang ngồi F5 xem mấy thằng nó phang nhau chờ solutionLại tạch Q4, Q1-3 xong trong 15p. Tắt máy rồi, chán vãi.

Câu 4 dùng Binary Search thì chắc cũng ra, mà không thể hiện thực hóa ý tưởng được. Chắc phải có trick gì ở đây.Q4 8 điểm thì bỏ cuộc ko có gì lạ, đang ngồi F5 xem mấy thằng nó phang nhau chờ solution![]()
Q2 - Q3 dùng dict là ngon hết. Q3 thì 2 dict, nay Q2-Q3 mình thấy khá dễ.Đm bài 2 bị ngu tự dưng đi dùng binary search tốn thời gian vl
Thi thố mà suy nghĩ đúng phức tạp, cay thật. Xài mẹ cái dict là đc rồi ngồi làm binary search lol
Đm bài 2 bị ngu tự dưng đi dùng binary search tốn thời gian vl
Thi thố mà suy nghĩ đúng phức tạp, cay thật. Xài mẹ cái dict là đc rồi ngồi làm binary search lol
quỳ luôn, sao tự dưng lại nghĩ đến binary search thế.Ko biết fence, sáng mới ngủ dậy não chưa load kịpquỳ luôn, sao tự dưng lại nghĩ đến binary search thế.
Đi binary search trên cái list [1,2,3,4] đúng ngu 
Chắc fence rating tầm 1k5 đến 1k6, thi thêm chục cái contest nữa là quen thôi fence.Bài 3 em ko để ý limit <= 10^9, cứ đinh ninh limit <= 10^5 như n. Thảo nào dùng mảng để lưu màu của bóng cứ bị TLE. Thành ra ngồi cải tiến solution mất hơn chục lần vẫn ko được. Xem tệp đính kèm 2512022
Em mới lên rank Knight ấy bác, thấy đường tới Guardian mịt mờ quáChắc fence rating tầm 1k5 đến 1k6, thi thêm chục cái contest nữa là quen thôi fence.
Kinh nghiệm là đọc đề, hiểu đề, đọc constrain mới đi tìm optimal solution cho cái constrain đó.
Nhiều bài chỉ cần đọc constrain là sẽ tìm được hướng giải luôn.

from copy import copy
class Node:
def __init__(self, lo=-1, hi=-1):
self.lo = lo
self.hi = hi
self.leftObstacle = None
self.rightObstacle = None
self.largestRange = hi - lo
class SegmentTree:
def __init__(self, n):
self.n = n
self.nodes = 4 * n * [None]
self.buildTree(0, 0, self.n - 1)
def buildTree(self, root, lo, hi):
if lo == hi:
self.nodes[root] = Node(lo, hi)
return
mid = (lo + hi) // 2
self.buildTree(root * 2 + 1, lo, mid)
self.buildTree(root * 2 + 2, mid + 1, hi)
self.nodes[root] = self.mergeResult(self.nodes[2 * root + 1], self.nodes[2 * root + 2])
def mergeResult(self, leftNode, rightNode):
if not leftNode:
return copy(rightNode)
if not rightNode:
return copy(leftNode)
node = Node(leftNode.lo, rightNode.hi)
node.leftObstacle = leftNode.leftObstacle if leftNode.leftObstacle != None else rightNode.leftObstacle
node.rightObstacle = rightNode.rightObstacle if rightNode.rightObstacle != None else leftNode.rightObstacle
midLeft = leftNode.rightObstacle if leftNode.rightObstacle != None else leftNode.lo
midRight = rightNode.leftObstacle if rightNode.leftObstacle != None else rightNode.hi
node.largestRange = max(leftNode.largestRange, rightNode.largestRange, midRight - midLeft)
return node
def query(self, qStart, qEnd, root=0, lo=0, hi=-1):
if hi == -1:
hi = self.n - 1
if qStart <= lo <= hi <= qEnd:
return self.nodes[root]
if hi < qStart or lo > qEnd:
return None
mid = (lo + hi) // 2
result = self.mergeResult(self.query(qStart, qEnd, 2 * root + 1, lo, mid),
self.query(qStart, qEnd, 2 * root + 2, mid + 1, hi))
return result
def update(self, index, root=0, lo=0, hi=-1):
if hi == -1:
hi = self.n - 1
if lo == hi:
node = self.nodes[root]
node.leftObstacle = node.rightObstacle = index
node.largestRange = 0
return
mid = (lo + hi) // 2
if index <= mid:
self.update(index, 2 * root + 1, lo, mid)
else:
self.update(index, 2 * root + 2, mid + 1, hi)
self.nodes[root] = self.mergeResult(self.nodes[2 * root + 1], self.nodes[2 * root + 2])
class Solution:
def getResults(self, queries: List[List[int]]) -> List[bool]:
ans = []
segTree = SegmentTree(max(q[1] for q in queries) + 1)
for q in queries:
if q[0] == 1:
segTree.update(q[1])
else:
x, sz = q[1], q[2]
maxSize = segTree.query(0, x).largestRange
ans.append(maxSize >= sz)
return ans
chủ tịt giả nghèo rùiEm mới lên rank Knight ấy bác, thấy đường tới Guardian mịt mờ quá Xem tệp đính kèm 2512130
Á đù rank gần 2k mà ko đọc constrain. Quả này bị trừ điểm sml rồiEm mới lên rank Knight ấy bác, thấy đường tới Guardian mịt mờ quá Xem tệp đính kèm 2512130

xíu xong contest nhờ bác thỉnh giáo q4, e ngồi chắc cũng 45p k nghĩ được gìCâu cuối nay ý tưởng dễ nhìn, mỗi tội cài căng thôi![]()