通俗的来说:就是把一个问题分解成为大小相同的k个子问题是比较不错的。(事实上这种使子问题大致相同的做法是一种自平衡子问题的思想)。
定义:
分治法的思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。
解决方法:
我们可以递归的解决这些子问题,然后将这些小的子问题和原问题合并,进而各个击破,达到解决整个原问题的目的!
分治算法分解为多少个子问题比较的合适呢?
其实这个问题前人也是经过了很多的经验才发现了在使用分治法设计算法时,最好使子问题的规模大致相同,即讲一个子问题分解为大小相同的k个子问题比较的合适。这种使子问题的 规模大致相同的做法是一种自平衡的思想。并且使用分治法的算法一般是递归的算法。
分治法比较常见的一种使用方式(二分搜索算法)
下面是我总结的二分题目链接:
2020 CCPC Wannafly Winter Camp Day1 F 乘法
Codeforces 1238 B. Kill 'Em All