POJ题目分类
来源:互联网 发布:淘宝嘉年华怎么 编辑:程序博客网 时间:2024/06/06 14:01
1.抽象问题,寻找解的表示方法,好的表示方法常常是枚举法的关键
2.给出正解的判断标准
3.对所有解依次枚举判断,注意遍历次序,不要出现重复和无限循环
当问题可以分解为较小的问题,并且小问题之间呈现出独立性的时候,分治法是良好的解题策略。正确的使用分治法,常常能够将算法的复杂度下降一个级,例如从n下降到log n.
思考围绕两个核心问题:如何【分解】,如何【合并】
1.抽象问题,寻找问题的总体形式
2.尝试降低问题的规模,尝试分解总问题为相互独立的子问题
3.对子问题完成合并操作
二分查找
快速排序
归并排序
线性时间选择
最接近点对
循环日程表
动态规划与分治相似,化繁为简,分化求解的思路在这里得到沿用,但与分治不同的是,动态规划分解出的子问题并不一定相互独立,而是可能有公共的子问题,如果使用分治法,那么可能公共子问题被求解多遍,但使用动态规划则可以避免这样的重复。
两大要素:【阶段】 【决策】
两大性质:
【最优子结构性质】——问题总的最优解包含子问题的最优解
【子问题重叠性质】——后续问题的解可以利用前面问题的计算结果
1.抽象问题,完成问题的表示
2.定义最有解,寻找重叠子问题性质
3.递归计算最优解
矩阵连乘
最长公共子序列
最大子段和
流水作业调度
贪心针对许多动态规划可以解决的问题,利用相关性质,可能得到更加简洁的贪心解,而拟阵为贪心算法奠定了理论基础。1.抽象问题,完成问题表示
2.寻找最有解的局部性质
3.设计贪心步骤
哈夫曼编码
最短路径
最小生成树
1.抽象问题,将解组织成树形结构
2.确定正解性质和错解性质
3.深度优先遍历,正解输出,错解剪枝
N皇后问题
0-1背包问题
旅行售货员问题
最大团问题
批处理作业调度问题
分支限界仍然将问题的解空间组织成树形结构,但遍历的时候采用广度优先遍历,且目标是寻找某一个解。遍历的过程其实也是树的生长过程,每次选择最可能的分支进行扩展或说生长。1.抽象问题,将解组织成树形结构
2.确定最可能解的性质
3.广度优先遍历,每次根据性质选择扩展分支
0-1背包问题
旅行售货员问题
最大团问题
批处理作业调度问题
数论古老的学科,计算机中用到的知识有:素数,辗转相除,中国剩余定理等。 图论复杂的关联和通路问题常常用到图论:最小生成树,最短路径,关键路径,最大流 是经典应用。
poj-2560 Freckles计算几何计算几何是计算机的图形算法(区别于图论),实际是比较复杂的部分。点线面的关系(相交,平行,重合等),几何物体测量(长度,面积,体积),寻找凸包,寻找最近点是其典型问题。 模拟许多实际问题可以看做对现场的模拟,已知一定的输入数据,已知事件的运行规则或者游戏规则,求解游戏结果或者最优解,这其实就是用计算机模拟事件或游戏的运行。 poj-1666 Candy Sharing高精度计算机硬件的运算精度往往是有限的,无限制的高精度运算一般是通过软件模拟实现的,这块主要是要熟悉硬件运算逻辑的基本过程和字符模拟数字运算的方法poj-1001 test,
poj-2562 Primary Arithmetic
- poj题目分类
- poj--题目分类
- POJ 题目分类
- POJ题目分类
- POJ题目分类
- 【转】POJ 题目分类
- poj acm 题目分类
- POJ题目分类
- POJ题目分类小结
- POJ题目分类
- POJ 题目分类
- poj--题目分类
- POJ 题目分类
- POJ题目分类
- POJ 题目分类
- POJ题目分类
- POJ题目分类报告
- POJ题目分类表
- 数据结构:线性表之顺序存储结构
- debian 增加 nginx 自启动脚本
- 让浏览器显示PHP遇到的错误信息
- debian 用户和组操作
- Swing组件使用-弹出式菜单
- POJ题目分类
- 从头学习开发django系列-setting文件配置,以SAE为例
- DEBIAN下中文显示
- 排序算法集合
- 【Qt】搭建QT和VS2010集成开发环境
- 职场潜规则
- VS2010读写Excel
- 折扣达人iPad版
- Debian 6.0.4安装配置lamp(Apache+MySQL+PHP)