搜索
Little_Flower_0
一只小花
展开
-
Codevs1225 八数码难题
题目大意:在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。思路:使用IDA*算法。估价函数为现在棋盘与目标棋盘的对应元素不同的个数。剪枝:若当前深度加上原创 2015-08-20 17:13:36 · 820 阅读 · 0 评论 -
POJ2449 Remmarguts' Date
题目大意:给定一张有向图,求某两点间的第k短路。思路:先用堆优dij处理出各点到终点的最短路距离,然后进行A*,当终点取出次数为k时,第k短路即已求出。非常要注意的一点是,如果s=t,那么k++。(因为这个不知道被坑了多少回…)代码如下:#include<iostream>#include<cstdio>#include<cstring>#include<vector>#includ原创 2015-10-17 15:23:21 · 572 阅读 · 0 评论 -
Codevs1066 引水入城
前言:又是做到吐血的一道题。膜题解以后才明白这题怎么做。思路:我觉得第一问是很好求的,直接从上往下BFS就够了。第二问被卡住了,但有一点突破口就是,需要确定第一行的某一个格子究竟能控制多少最后一行的格子。通过样例解释,可以观察到这样一点。似乎对于某一个第一排格子,其可以控制连续一段最后一行的格子,且对于有左右相对顺序的两个第一行的格子,其控制的一排格子也有同样的相对顺序。实际上这个猜想是正确的,原创 2015-11-01 18:49:08 · 899 阅读 · 0 评论