| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 957 人关注过本帖
标题:关于动态规划
只看楼主 加入收藏
wye213
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2012-3-8
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:5 
关于动态规划
请问下题用动态规划和蛮力法怎么做吗

旅游预算
  一个旅行社需要估算乘汽车从某城市到另一城市的最小费用,沿路有若干加油站,每个加油站收费不一定相同。
  旅游预算有如下规则:
  若油箱的油过半,不停车加油,除非油箱中的油不可支持到下一站;每次加油时都加满;在一个加油站加油时,司机要花费2元买东西吃;司机不必为其他意外情况而准备额外的油;汽车开出时在起点加满油箱;计算精确到分(1元=100分)。编写程序估计实际行驶在某路线所需的最小费用。
  输入格式:
  从当前目录下的文本文件“route.dat”读入数据。按以下格式输入若干旅行路线的情况:
  第一行为起点到终点的距离(实数)
  第二行为三个实数,后跟一个整数,每两个数据间用一个空格隔开。其中第一个数为汽车油箱的容量(升),第二个数是每升汽油行驶的公里数,第三个数是在起点加满油箱的费用,第四个数是加油站的数量。(〈=50)。接下去的每行包括两个实数,每个数据之间用一个空格分隔,其中第一个数是该加油站离起点的距离,第二个数是该加油站每升汽油的价格(元/升)。加油站按它们与起点的距离升序排列。所有的输入都有一定有解。
  输出格式:
  答案输出到当前目录下的文本文件“route.out”中。
  该文件包括两行。第一行为一个实数和一个整数,实数为旅行的最小费用,以元为单位,精确到分,整数表示途中加油的站的N。第二行是N个整数,表示N个加油的站的编号,按升序排列。数据间用一个空格分隔,此外没有多余的空格。
  输入输出举例:
输入文件:(route.dat) 输出文件(route.out)
516.3                            38.09     1
115.7 22.1 20.87 3         2         
125.4 1.259
297.9 1.129
345.2 0.999
搜索更多相关主题的帖子: 油箱 加油站加油 编写程序 动态 
2012-12-26 17:22
Ayiis
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1086
专家分:3063
注 册:2011-4-10
收藏
得分:4 
算法太难了,动规我也很不会啊,帮顶

  • 该单位
  • 正在被拖走
2012-12-27 14:01
worldhealer
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2012-12-28
收藏
得分:6 
0表示起点,n+1表示终点
distance[i]表示起点到第i个点的距离
p表示每公里的耗油量
cost[i]表示在第i个点加一升油的花费
以上都是已知的

除了终点外,dp[i]表示到达第i个点在这个点加满油的最小费用
终点的dp[i]就表示到达终点的最小费用

初始时,dp[0] = 在起点加满油的费用
转移方程如下:
当 i <n+1 时
dp[i] = min{ dp[j] + 2 + (distance[i]-distance[j]) * p * cost[i]} 0<=j<i 且要满足题目关于加油的条件(我没看懂...) 并且耗油要小于邮箱容量
当 i = n+1 时
dp[i] = min{ dp[j] } 条件大致同上
dp[n+1]就是答案
可以再定义一个 pre[i]表示 dp[i] 是由哪个 dp[j]转移过来的,然后存起来输出即可

2012-12-28 20:56
wye213
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2012-3-8
收藏
得分:0 
回复 3楼 worldhealer
动归的现在知道了,那还请赐教蛮力法咋弄啊?

2012-12-30 13:47
worldhealer
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2012-12-28
收藏
得分:0 
回复 4楼 wye213
暴力的话 直接枚举下一站到哪个加油站不过复杂度是指数级的 没意义啊
2013-01-01 01:17
wye213
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2012-3-8
收藏
得分:0 
回复 5楼 worldhealer
谢谢啊,我们做课设要用蛮力法啊,不过还是谢谢,我已经弄出来了
2013-01-01 21:37
快速回复:关于动态规划
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014729 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved