美文网首页
painter-partition-problem

painter-partition-problem

作者: 水星no1 | 来源:发表于2018-09-23 18:39 被阅读0次

https://articles.leetcode.com/the-painters-partition-problem-part-ii/

递归:

image.png
O(KN3)
dp
https://www.geeksforgeeks.org/painters-partition-problem/
O(K
N**2)
import sys                                                                
                                                                          
                                                                          
def findMax(arr, n, k):                                                   
    if not arr:                                                           
        return 0                                                          
    dp = [[0 for col in range(n + 1)] for row in range(k + 1)]            
    for i in range(1, n + 1):                                             
        dp[1][i] = sum(arr[0:i])                                          
    for i in range(1, k + 1):                                             
        dp[i][1] = arr[0]                                                 
    for i in range(2, k + 1):                                             
        for j in range(2, n + 1):                                         
            _min = sys.maxsize #maxint python2                            
            for p in range(1, j + 1):                                     
                _min = min(_min, max(dp[i - 1][p], sum(arr[p:j])))        
            dp[i][j] = _min                                               
    return dp[k][n]                                                       
                                                                          
def test():                                                               
    arr = [10, 20, 30, 40,50,60]                                          
    k = 3                                                                 
    print(findMax(arr, len(arr), k))                                      
                                                                          
                                                                          
if __name__ == '__main__':                                                
    test()                                                                
                                                                          

binary search
https://www.geeksforgeeks.org/painters-partition-problem-set-2/

相关文章

网友评论

      本文标题:painter-partition-problem

      本文链接:https://www.haomeiwen.com/subject/xpcbnftx.html