分治模板

def divide_conquer(problem, param1, param2, ...)
    #recursion terminator
    if problem is None:
        print_result
        return

    #prepare data
    data = prepare_data(problem)
    subproblems = split_problem(problem, data)

    #conquer subproblems
    subresult1 = self.divide_conquer(subprobles[0], p1, ...)
    subresult2 = self.divide_conquer(subprobles[1], p1, ...)
    subresult3 = self.divide_conquer(subprobles[2], p1, ...)
    ...

    #process and generate the final result
    result = process_result(subresult1, subresult2, subresult3, ...)
原文地址:https://www.cnblogs.com/OneSky-Mi/p/14471734.html