分治代码模板
分治和泛型递归的不同在于最后可能会有一个merge,就是将子结果进行一个组合
private static int divide_conquer(Problem problem, ) {
// recursion terminator
if (problem == NULL) {
int res = process_last_result();
return res;
}
//prepare data
subProblems = split_problem(problem)
//conquer subproblems
res0 = divide_conquer(subProblems[0])
res1 = divide_conquer(subProblems[1])
//merge
result = process_result(res0, res1);
return result;
//revert the current level status
}