问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

pascal题

发布网友 发布时间:2022-05-17 08:06

我来回答

3个回答

热心网友 时间:2023-10-14 09:03

F(x,y):表示节点x取y门课得最高学分,则
F(x,y)=max(f(x.l,k-1)+x.v+f(x.r,y-k))k=0,1,..y
f(x.l,k-1)+x.v(课程x的学分) :表示选了课程x,左孩子选k-1门课,共k门课。
f (x.r,y-k)表示右孩子只能选y-k门课。
标程中节点-1表示空节点,0是根节点,1—n是n门可选课程的节点.
思考:若本题加上选那些课程可得到这个最大学分,怎样修改程序?
实现:
怎么实现,是在竞赛中的很重要的一个问题,如果你想ac了这道题目的话,你应该熟悉怎么把一棵树转化成二叉树,完后怎么用递规的思想来实现动态规划。所以坚实的基础是很重要的东西,如果没有了基础,什么都是空中楼阁。
程序中已经边读边把二叉树建立好了。
源程序代码:
program bluewater;
type
tree=record
l,r,k:longint;
end;
var
s:string;
i,j,k,l:longint;
n,m:longint;
a:array[0..200] of tree;
b:array[-1..200,0..150] of integer;
f:array[0..200] of longint;

procere treedp(x,y:longint);
var i,j,k,l:longint;
begin
if b[x,y]>=0 then exit;
treedp(a[x].r,y);{只有右子树的情况}
j:=b[a[x].r,y];
for k:=1 to y do{左右子树都有的情况}
begin
treedp(a[x].l,k-1);
treedp(a[x].r,y-k);
i:=b[a[x].l,k-1]+b[a[x].r,y-k]+a[x].k;
if i>j then j:=i;
end;
b[x,y]:=j;
end;

begin
readln(s);
assign(input,s);reset(input);
readln(n,m);
fillchar(f,sizeof(f),0);
for i:=0 to n do
begin a[i].l:=-1;a[i].r:=-1;a[i].k:=-1;end;
{build tree}
for i:=1 to n do
begin
readln(k,l);
a[i].k:=l;
if f[k]=0 then a[k].l:=i
else a[f[k]].r:=i;
f[k]:=i;
end;
{bianjie}
for i:=-1 to n do
for j:=-1 to m do
if (i=-1) or (j=0) then b[i,j]:=0 else b[i,j]:=-1;
{tree dp}
treedp(a[0].l,m);
{output}
writeln(b[a[0].l,m]);
end.

热心网友 时间:2023-10-14 09:04

选课啊,经典树形动规题目,网上到处都是。。。

热心网友 时间:2023-10-14 09:04

搜索呗.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
深受粉丝喜爱的机体,高达史上最受欢迎模型,到底有多少种独角兽 医生,你们好,我男今年28我的左眼睛上面眼皮靠鼻梁的地方红肿,不是很痛... 眼角靠鼻梁这边欺负下方里面长了麦粒肿 现在有4天左右了里面出现了硬... 你好 我眼睛里的麦粒肿是有点硬的那种 也不是很大 医生不建议手术 麦粒肿手术需要剪掉眼睫毛么 羊绒披肩怎么披好看 怎样挑选高品质的披肩? 入手披肩时需要注意些什么? 如何挑选质量比较好的披肩? 家庭cd机哪个好 饮水机上桶装的纯净水和便利店售卖的小瓶矿泉水有什么区别呢?桶装的纯净水真的纯净吗? clear blue water什么意思 购买了bluewater但是弄丢了说明书,外面的几个指示灯是什么意思? 器官捐献卡怎样办理?有哪些要求和注意事项? 我暗恋一个女孩子,她的网名叫(bluewater)意思为蓝色的水。也就是大海的意思。谁能给我想个对 我喜欢一个女孩子,她的网名叫(bluewater)意思为蓝色的水。也就是大海的意思。谁能给我想个对 smashing Four 如何捐赠5张卡片? 器官捐献卡如何办理 皇室战争怎么捐卡 皇室战争捐卡能获得什么 爱心捐书卡怎么做 类似愤怒的小鸟的小游戏 一款跟愤怒的小鸟相似的一个游戏。 在项目中放一个谷歌浏览器的离线安装程序,让用户可以直接下载,要怎么做 以前在魅族手机里玩的一个游戏,玩法类似于愤怒的小鸟,不过不是砸东 有什么好玩的单机游戏、像(愤怒的小鸟)又小有好玩的 还有什么游戏像愤怒的小鸟一样? 有个和愤怒的小鸟差不多的游戏,是组装车来玩的,叫啥名? 六七年前在iPad上有个类似于愤怒的小鸟的游戏叫什么? 类似愤怒的小鸟,是竖着玩的,把小鸟打出去,好像是打僵尸,还可以反弹小鸟,请问是什么手机游戏?? 有没有类似植物大战僵尸,愤怒的小鸟一类的游戏? 深水半潜式钻井平台每一代的特点和区别 哪个牌子的电动车质量比较好啊? 净水机三瓶五滤和五瓶五滤有什么区别 我陪客户吃饭,可是客户老是占我便宜,我该怎么办呀 iphone12看视频自动调节音量 iphone12莫名其妙自动降低音量 我问下我的苹果手机有时候自动调节音量,是不是我的静音键坏了 华友钴业明天能涨吗? win8电脑音量图标启用不了怎么办 可以帮我注册一个日本地区的apple ID吗? oppo手机桌面怎么添加时间和日期 异界小说主人公女主角没有存在感,收了个男徒弟当厨子收了女徒弟练成了体修 肚脐眼那的泥少,容易进风,经常爱肚子疼,有什么好法呢?(请不要胡乱说些没用的) 像这种图要怎么把里面的素材单独抠出来,还不影响像素跟大小?? 生活小妙招:睡觉时吹风扇肚脐容易进风,怎么治? 肚脐眼进风就肚子疼怎么办 求解救 神阙进风 肚脐进风 多年! 睡觉肚脐眼进风怎么 抠图会影响像素吗 肚子进风怎么办?