<
帮助教程
当前位置 首页 > 文章 > 帮助教程

洛谷P2349 金字塔 A* 搜索

发布时间:2024-04-13 21:37:52   来源:网站管理员   35351 阅读   0 评论

题目描述fmW小星星网站目录

有一盗墓者潜入一金字塔盗宝。当她(难道是Lara Croft ?)打开一个宝箱的时候,突然冒出一阵烟(潘多拉的盒子?),她迅速意识到形势不妙,三十六计走为上计……由于她盗得了金字塔的地图,所以她希望能找出最佳逃跑路线。地图上标有N个室,她现在就在1室,金字塔的出口在N室。她知道一个秘密:那阵烟会让她在直接连接某两个室之间的通道内的行走速度减半。她希望找出一条逃跑路线,使得在最坏的情况下所用的时间最少。fmW小星星网站目录

输入格式
输入文件的第一行有两个正整数N(3≤N≤100)和M(3≤M≤2000);下面有M行,每行有三个数正整数U、V、W,表示直接从U室跑到V室(V室跑到U室)需要W(3≤W≤255)秒。fmW小星星网站目录

输出格式
输出所求的最少时间(单位为秒)。fmW小星星网站目录

输入输出样例
输入 #1
7 8
1 2 10
2 3 12
3 4 20
4 7 8
1 7 34
2 5 10
5 6 12
6 4 13
输出 #1
66
说明/提示
样例解释 Sample Explan:fmW小星星网站目录

基本上有三种路线:fmW小星星网站目录

(1)1 -> 2 -> 3 -> 4 -> 7fmW小星星网站目录

总时间为:10+12+20+8=50,最坏的情况是“3->4”那一段,要多花20秒(因为行走速度减半),所以这条路选最坏需要70秒;fmW小星星网站目录

(2)1 -> 2 -> 5 -> 6 -> 4 -> 7fmW小星星网站目录

总时间为:10+10+12+13+8=53,最坏的情况是“6->4”那一段,要多花13秒,所以这条路选最坏需要66秒;fmW小星星网站目录

(3)1 -> 7fmW小星星网站目录

总时间为:34=34,最坏的情况是“1->7”那一段,要多花34秒,所以这条路选最坏需要68秒。fmW小星星网站目录

解法:A*

  • 首先考虑A*算法,如何构造估价函数,因为估价函数要小于等于实际,一条路径都会有一个翻倍的路,所以我们可以把估价函数设为这个点到终点的最短路,加上前面搜索的最大值,因为最大值已经在最短路里面包含,所以我们只需要再加一次就相当于加了两次
  • 每次在优先队列中取出估值函数最小的那个点开始拓展,如果当前的点是终点,那我们直接输出步数加上前面的最大值即可
  • 我设了x为当前值,g为估值函数,maxx为前面的最大值,step是当前的距离

AC代码fmW小星星网站目录





  std
 edge 
	 nextow
e
 node 
	 xgmaxxstep
	   node A  
		 Agg
	

 nmcntheadd
 v queue q
   
	 xcf
	 ch
	chch 
		ch cf
		ch
	
	chch 
		xxxch
		ch
	
	 xcf

   x y z 
	ecnttoyecntwzecntnexheadxheadxcnt

   
	dd
	vv
	qndnvn
	q 
		 xq q vx
		re iheadxiieinex 
			 yeitozeiw
			dydxz 
				dydxz
				vy qyvy
			
		
	

   
	priority_queuenode q node tmp tmpstep
	tmpgdtmpmaxxtmpx qtmp
	q 
		node nowq q
		nowxn 
			nowmaxxnowstep
			
		
		re iheadnowxiieinex 
			node temp tempstepnowstepeiw
			tempmaxxnowmaxxeiw
			tempgtempsteptempmaxxdeito
			tempxeito qtemp
		
	

  
	nm
	re iimi 
		 xyz
		xyzyxz
	
	 
	 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
0
最新资讯
热门资讯