分治
来源:互联网 发布:免费采购软件有哪些 编辑:程序博客网 时间:2024/05/18 01:11
分治模版思想
王健林说:“我们首先要有一个小目标,比如挣他100000000!!!”
显然,这对大部分人都是极难实现的“小目标了”。
那么100000000分成两个小目标,就是挣两个50000000,先完成一个小小目标,再完成另一个,好像容易些。
However,这显然对大部分人也都是一个遥不可及的小目标。
但不断的分成几个小小小目标,小小小小.........(n个小)目标,那么到最后对于每个人都会有一个可以实现的小目标了。
那么完成一个在做另一个规格相同的小目标,合在一起,不断积累,是不是就能挣一个亿了!!!!!
简直做白日梦。
----------------------------------------------------------------------分割线---------------------------------------------------------------------------
咳咳,下面来讲分治。
分治在五大常用算法中占了一席之地。
1.分解
在题目中往往会有一个复杂,难以进行,但又有点小规律的问题,就好比生活中的“小目标”,但分解成若干个小规模,相对独立,与原问题形式相同的子问题便相对容易些了。
2.解决
若子问题规模较小能解决,就直接解决(你可以挣50000000就不用分了),但规模过大(挣不到50000000= =)递归分解成若干个子问题,知道可以解决。
3.合并
将各个子问题的解,合并为原问题的解(挣了两个50000000就是100000000)
这就是分治。
伪代码。
void solve(p)//p表示问题的范围,规模或别的东西。{if (p规模小) { 边界,或者用简单的方法解决; } // 分解:将原问题分解成若干个规模较小,相互独立,与原问题形式相同的子问题。 // 一般把问题分成规模大致相同的两个子问题。 for(int i=1;i<=k;i++) 把p分解,第i个子问题为pi; // 解决:若子问题规模较小,容易被解决则直接解,否则递归的解各个子问题。 for(int i=1;i<=k;i++) solve(pi); // 合并:将各个子问题的解合并为原问题的解。 ................... }
蒟蒻的小心得。。。
阅读全文
0 0
- 分治
- 分治
- 分治
- 分治
- 分治
- 分治
- 分治
- 分治
- 分治
- 分治
- 分治
- 树分治-点分治
- 树分治(点分治+边分治)
- 分治法
- 分治法
- 分治策略
- 分治法
- 分治排序
- 乘法爆int的解决方法
- 太上感应篇0017
- 深度神经网络优化(三)- Hyperparameter tuning, Batch Normalization
- 019:初等函数的连续性总结(四则及复合运算)
- 处理 a/b (mod m) 且 b | a 的求解
- 分治
- python爬虫由浅入深7--基于中国大学排名的定向爬虫
- 抓住现实,把握理想
- Java高并发--等待线程结束和谦让
- 太上感应篇0018
- 解决 webstrom sass 注释中文出错问题
- 前后端交互之解决跨域问题!!!!
- js对象深拷贝和淺拷贝
- Spring框架之事务处理