pku 3635 Full Tank? - bfs+优先队列

渐渐 posted @ 2010年9月26日 09:09 in ACM-图论 , 2697 阅读

题目大意:有N个站点,每个站点供应油的价格为Pi,有M条路,每条路耗油量为Ci。现在又Q个询问,求出,当坦克在S点,油量为0,要到达T点,油箱容量为V的最小价格。

 

分析:有点像dij,用一个数组used[ i ][ j ]记录,第i个站点,油量为j的情况是否出现过。用优先队列每次选出花费最小的节点更新。入队有2种情况:

1.当可以走向下一个节点时

2.当可以再买1升汽油时(保证每种情况都考虑到,DP的思想)

PS:代码写烂了...好慢


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter