总结-分治
来源:互联网 发布:oa流程数据库设计 编辑:程序博客网 时间:2024/05/29 06:39
分治
分治法是一种效率很高的算法, 往往带有一个log级的复杂度.
1. CDQ分治
- CDQ分治可以应用到带有修改操作的题目中, 对操作进行分治, 通过考虑前一半操作对后一半操作的影响达到分治的目的.
- 应用的条件比较苛刻
- BZOJ-1492-货币兑换cash-NOI2007-CDQ分治 优化dp
- BZOJ-2716-天使玩偶angel-CDQ分治 能这样做还得益于曼哈顿距离的特殊性
- BZOJ-2001-city城市建设-HNOI2010-CDQ分治 因为最小生成树Kruskal算法是基于边的算法, 所以可以对边进行分治
2. 二分答案
- 路由器安置(Routing) 二分答案, 然后用到二分查找. 比较巧妙地是二分半径而不是直径, 这样可以避免出现小数.
- BZOJ-3110-K大数查询-ZJOI2013-整体二分 整体二分的做法是比较BT的, 因为答案有上下界, 而且答案一定是前面的操作造成的, 所以直接对答案进行二分. 用到了线段树维护(也可以用树状数组). 思考: CDQ能做吗?
- BZOJ-2440-完全平方数-中山市选2011-容斥原理-莫比乌斯函数-二分查找 二分答案用容斥原理判断.
3. 三分法
- BZOJ-1857-传送带-SCOI2010 两次三分. 因为是两个单峰函数.
总结: 分治的思想很重要, 考场上如果能想到正确解法的话只要思路清晰, 代码难度适中吧.
1 0
- 总结-分治
- 分治算法总结
- 分治法总结
- 分治法总结
- 分治策略总结
- 点分治总结
- 【总结】CDQ分治
- 【点分治总结】
- 算法:分治总结
- 点分治总结
- 树分治总结
- 树分治总结
- leetcode之分治总结
- 分治策略总结
- 点分治总结
- LeetCode总结,分治法总结
- [总结]CDQ分治&整体二分
- 算法分析之分治法总结(二)
- 《unix网络编程》(12)五种I/O模型
- Perforce的使用
- 前端精选文摘:BFC 神奇背后的原理
- 设计模式之原型
- 杨辉三角
- 总结-分治
- 删除多余的Ubuntu内核
- 判断一个数是否是回文数
- linux内核学习(4)_库函数API和C代码嵌入汇运用用系统调用
- 杭电---1106排序
- JavaMail从零开始学习
- 应采儿《天使的城》复出演律师 伶牙俐齿显本色
- 刘诗诗《犀利仁师》鬼马卖萌 丰富表情笑果十足
- 许晴提前离开《花少》剧组 与张翰拥抱告别(组图)