அல்கோரிதம்mos algorithm

Mo's Algorithm — அடிப்படை

TT
Testlaa Team
May 15, 20261 min read

Mo's Algorithm — இடைவெளி கேள்விகள்/புதுப்பிப்புகளுக்கான மரக் கட்டமைப்பு.

உண்மை உலகில் இது ஏன் முக்கியம்?

காலத் தொடர், விளையாட்டு தரவு, நேர்காணல் — வேகமான இடைவெளி கேள்விகள்.

மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)

இடைவெளி [l,r] கேள்வி/புதுப்பிப்பு O(log n); மர உயரம் ≈ log n; 1-அடுக்கு குறியீட்டில் 4n அளவு.

Pythonில் முயற்சி செய்வோம்

# Mo's: sort queries by (l//B, r) with B ~ int(n**0.5); move L,R adding/removing.
B = 3
queries = [(0, 2), (1, 4)]
print(sorted(queries, key=lambda q: (q[0] // B, q[1])))

பொதுவான தவறுகள்

  • 0-அடுக்கு/1-அடுக்கு குழப்பம்.
  • மர அளவு n மட்டுமல்ல 4n.

முக்கிய பாடங்கள்

  • கையெழுது சிறு உதாரணம் வரை.
  • புள்ளி புதுப்பிப்பு முதல், பின் வரம்பு.

Tags:

Segment tree & range queriesPythonமாணவர்கள்