அல்கோரிதம்subset partition k
Subset Partitioning and k-Way Load Balancing — துணைக்கண பிரிப்பு
TT
Testlaa Team
May 14, 2026•1 min read
k பிரிவு — binary search + greedy; முழு DP exponential.
உண்மை உலகில் இது ஏன் முக்கியம்?
சுமை சமநிலை; வண்ணம்.
மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)
சிறு n,k mask DP.
Pythonில் முயற்சி செய்வோம்
def can_partition_k(nums: list[int], k: int, limit: int) -> bool:
nums = sorted(nums, reverse=True)
def dfs(i: int, sums: list[int]) -> bool:
if i == len(nums):
return True
x = nums[i]
seen = set()
for j in range(k):
if sums[j] + x <= limit and sums[j] not in seen:
sums[j] += x
seen.add(sums[j] - x)
if dfs(i + 1, sums):
return True
sums[j] -= x
if sums[j] == 0:
break
return False
return dfs(0, [0] * k)
print(can_partition_k([4, 3, 2, 3, 5, 2, 1], 3, 7))
அடிக்கடி நேரும் தவறுகள்
- monotone இல்லை.
- k.
முக்கியச் சுருக்கக் குறிப்புகள்
- monotone feasible.
Tags:
Dynamic programmingPythonமாணவர்கள்
