一題pascal的動態規劃,寫思路和程式!!!!

2025-02-01 06:05:24 字數 2076 閱讀 3355

1樓:網友

樹形dp,要睡覺了,簡單說一下。

決策是向左走或者向右走。

program jiandie;

typetr=record

l,r,x:longint;

end;var

n,m,i,q,ans:longint;

tree:array[1..100]of tr;

f:array[1..100]of longint;

procedure init;

vari:longint;

beginreadln(n,m,q);

for i:=1 to n-1 do

readln(tree[i].l,tree[i].r,tree[i].x);

end;function max(a,b:longint):longint;

beginif a>b then exit(a);exit(b);

end;function dp(x,y:longint):longint;

beginif y>m then exit(0);

if f[x]<>maxlongint then exit(f[x]);

f[x]:=max(dp(tree[x].l,y+1),dp(tree[x].r,y+1))+tree[x].x;

exit(f[x]);

end;begin

init;for i:=1 to n do f[i]:=maxlongint;

if m=1 then ans:=tree[1].x

else if m=0 then ans:=0

elsebegin

f[1]:=max(tree[1].x+dp(tree[1].l,2),tree[1].x+dp(tree[1].r,2));

ans:=f[1];

end;ans:=ans-q;

if ans>=0 then writeln('true')

else writeln('false');

writeln(ans);

end.思路如上,如果不懂就hi一下我。

pascal 動態規劃

2樓:貓肥大

演算法的一種,是用來解決最優化問題的。簡單的說就是做到每一步都是最優的。

請結合串記數例題講講pascal動態規劃

3樓:

所謂動態規劃,即用陣列記錄下狀態,然後從一些狀態推得另外乙個狀態,就這樣一直推到答案。所以對於動歸來講,狀態的制定是最主要的,一旦制定好了狀態,那麼動歸方程一般容易得出。狀態的制定需要滿足無後效性,無後效性指一旦這個狀態的值確定下來,以後就不會改變。

對這道題來說,比如我知道了1個a,1個b,0個c能得到的個數是1,那麼這個狀態顯然是確定的以後不可能回去改變了。

現在來說說這道題怎麼做:狀態:f[i,j,k]表示i個a,j個b,k個c能組成多少滿足條件的串。

在推f[i,j,k]的時候,我們假定所有長度為i+j+k-1的狀態都已經得到了,這時我們只要列舉第i+j+k個字母放哪個就行了。

方程:f[i,j,k] =f[i - 1,j, k] +f[i, j - 1, k] +f[i,j,k-1] 如果i>=j>=k

否則f[i,j,k] =0

你可能會疑問:我們只保證了i+j+k長度中a>=b>=c,別的字首是否滿足呢?仔細想想就知道,我們是從f[i-1,j,k]推過來的,所以滿足i+j+k-1長度,順次往下,所有的字首都是滿足的,這就是動歸的優美之處。

求解 pascal題目 動態規劃

4樓:網友

這一款q遊戲的畫面中有一種類似金字塔由方塊堆成的三角形。金字塔的高度為h,同時第i層最多有i個方塊。每個方塊有兩種屬性:a或者b。同時,每個方塊還有一定的分值。

小q操作遊戲時,可以每秒打破乙個方塊並獲得方塊的分值。打破方塊的條件有2個:①方塊上方沒有被壓住。②這一秒小q的屬性與方塊屬性相同。小q查詢了遊戲源**(果然心態不好)知。

道了他每秒的屬性。他想知道在遊戲每關限制的n秒鐘內,用m秒可以獲得最大的分值。m為1~n的所有整數值。

第一題怎麼寫

河北人把尖頭綠螞蚱叫 掛大扁兒 改為被字句 c,b.輕描淡寫就是說對事情不重視,可能就是隨口說說,不走心。失而復得就是事情的東西或人又再次得到了。這個不用結合上下文,只需要知道成語的意思即可。第一題是c,第二題是b 我不知道你說的第一題是哪題 第二次鴉片戰爭乏力,河北人把尖頭綠螞蚱叫 掛大扁兒 我也...

第一第二題怎麼寫,第一題和第二題怎麼寫

先這樣,用函式 bai證明使時間和du路程的數量關係式 zhi在使用代入法把數值dao代入關係式中,得到答內案容,記為a之後在使用公式tan 1 x dx x tan 1 x ln 1 x2 c可得數值 最後檢查一遍,答案為約為105.26 第二題也是和第一題差不多的 只需要把105.26這個數值繼...

一題數學求解,數學中的一題,怎麼解答?

套用餘弦定理來解,很容易的 數學中的一題,怎麼解答?65頁。設每五頁讀x頁。74 82 71 63 x 5 x 6,解得,x 65頁。延展閱讀 使方程左右兩邊相等的未知數的值,叫做方程的解。求方程的解的過程叫做解方程。必須含有未知數等式的等式才叫方程。解。求方程的解的過程叫做解方程。必須含有未知數等...