PASCAL动态规划一水题稀里糊涂就过了,
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/08 11:17:44
PASCAL动态规划一水题稀里糊涂就过了,
一个特别的单行街道在每公里处有一个汽车站.顾客根据他们乘坐汽车的公里使来付费.例如下表就是一个费用的单子.
没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1f[i-j]+a[j]) then
f[i]:=f[i-j]+a[j];
writeln(f[n]);
end.
转移方程应该没错,就是初始化的时候不大清楚……
我一开始是f[1]:=a[1];其他都赋值maxint;结果不对……
这样赋值稀里糊涂就过了……
或许还有更好的方法也可.
(我是菜鸟,我知道这是背包的……)
一个特别的单行街道在每公里处有一个汽车站.顾客根据他们乘坐汽车的公里使来付费.例如下表就是一个费用的单子.
没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1f[i-j]+a[j]) then
f[i]:=f[i-j]+a[j];
writeln(f[n]);
end.
转移方程应该没错,就是初始化的时候不大清楚……
我一开始是f[1]:=a[1];其他都赋值maxint;结果不对……
这样赋值稀里糊涂就过了……
或许还有更好的方法也可.
(我是菜鸟,我知道这是背包的……)
把f数组除了f[0]之外全部赋值为manint就可以了
if (i-j>0) and (f[i]>f[i-j]+a[j]) then
这里应该改为
if (i-j>=0) and (f[i]>f[i-j]+a[j]) then
这样f[i]就表示走到第i公里的最优解,第i公里从前面i-1,i-2,i-3.中的最优解中的转移过来,没必要将a中的数据赋值给f
大概是这样了
var
f:array[0..100] of integer;
a:array[1..10] of integer;
i,n,j,k:integer;
begin
for i:=1 to 10 do read(a[i]);
readln(n);
for i:=1 to n do f[i]:=maxint;
for i:=1 to n do
for j:=1 to 10 do
if (i-j>=0) and (f[i]>f[i-j]+a[j]) then
f[i]:=f[i-j]+a[j];
writeln(f[n]);
end.
if (i-j>0) and (f[i]>f[i-j]+a[j]) then
这里应该改为
if (i-j>=0) and (f[i]>f[i-j]+a[j]) then
这样f[i]就表示走到第i公里的最优解,第i公里从前面i-1,i-2,i-3.中的最优解中的转移过来,没必要将a中的数据赋值给f
大概是这样了
var
f:array[0..100] of integer;
a:array[1..10] of integer;
i,n,j,k:integer;
begin
for i:=1 to 10 do read(a[i]);
readln(n);
for i:=1 to n do f[i]:=maxint;
for i:=1 to n do
for j:=1 to 10 do
if (i-j>=0) and (f[i]>f[i-j]+a[j]) then
f[i]:=f[i-j]+a[j];
writeln(f[n]);
end.
PASCAL动态规划一水题稀里糊涂就过了,
2.最后的战场(动态规划)pascal (war.pas/c/cpp)
动态规划算法
英语翻译别叫我问度娘什么的,百度翻译过了之后也还是稀里糊涂的.
PASCAL 请问我在进行对int64数据快排后作动态规划单调队列操作时,每次的快排关键字怎么取
c语言 数字三角形的动态规划
为什么动态图上传到百度空间就成了静态图 怎么上传就成了动态图
并集,交集的概念,高中的生活开始了,真是出师未捷身先死啊,刚学集合就稀里糊涂啊,命运悲惨
快要期末考试了,科学我就浮力不太懂.可不可以出几道题(难易多可,最好有答案,以免错的稀里糊涂).
人生如果没有好好规划,是不是就没意义了!
matlab lingo编程求解0-1非线性规划 目标函数如图 9个点只能用1次 Xi用过了Xj就不可以再用
求一道动态规划题的解答思路以及状态方程