poj1077小议
来源:互联网 发布:信捷plc 编程软件3.5 编辑:程序博客网 时间:2024/06/10 16:04
对于此题,是A*与康拓展开是难点,经典题目啊,没做人生不完整啊;;
再次介绍一下A*与康拓展开,至于代码下次再发,因为ACM主要是要学到知识;;;
首先::A*算法::
A*算法,是由DFS变形而来的启发式搜索,对于DFS,我们给定一个方向,这就会一直沿着这个方向去搜索,不管是不是偏离的愈来愈越远,他的优点是全面,但是却失去了效率,简单易行且耗时!!因次有了启发式搜索A*算法,,对于A*则是有一个公式来计算所搜索的一系列状态对于目标节点的容易到达层度,对于简单的搜索则是
h(x) = 层数 + 当前位置但目标节点的搜索步数;;因次则是在搜索后排序,然后在把h(x)最小的优先搜索;;简而言之,就是符合人的正常思考方式;会优先考虑靠近目标节点的节点在DFS;
康拓展开::
是反应一个排列与一个数的映射关系,常常用来判重,在这题中就是用这一展开来把没一个不同的状态与一个数字对应,就可以判重了;;
展开方法::
原理是把所有排列都由小到大编号,最小的是0,第二小的是1,他们的编号是比他们小的排列的个数,所以八数码问题就是最多有9!种状态;;
举个例子,,321的排列就是看第一个数,1,2比三小,所以第一位比三小的排列有2*2!,而依次类推,321在排列中是第5号;这样就把排列和数字意义对应了;;
具体代码等我的下一篇博客;;;
0 0
- poj1077小议
- poj1077
- poj1077
- POJ1077
- poj1077
- poj1077 Eight
- poj1077(A*,IDA*)
- POJ1077 八数码问题
- poj1077 /hdoj 1043 Eight
- poj1077解题报告详解
- 【POJ1077】Eight【IDA*】
- POJ1077——Eight
- POJ1077(8数码问题)
- Eight poj1077 广度优先搜索
- 启发式搜索及应用、POJ1077
- 八数码难题 hdu1043/ poj1077
- 小议auto_ptr
- 小议static
- 微信扫描二维码登录网站技术原理
- 美媒评小米手环:设计简约 功能实用
- 从零开始学C++之IO流类库(三):文件的读写、二进制文件的读写、文件随机读写
- 每秒100帧的行人检测方法
- C# this关键字在静态方法中的使用。
- poj1077小议
- 用树莓派制作一款只有刷脸才能开的保险柜
- 《关于GCC编译》
- 从零开始学C++之IO流类库(四):输出流格式化(以操纵子方式格式化,以ios类成员函数方式格式化)
- PDF转换成PPT格式文件怎么实现
- IO流中FileWriter和FileRead
- Andrroid数据各类持久化工具类
- 从零开始学C++之模板(一):函数模板、函数模板特化、重载函数模板、非模板函数重载
- 【LeetCode】Linked List Cycle