C語言演算法動態規劃請詳細解答一下關鍵步驟謝謝

2021-04-15 16:13:01 字數 802 閱讀 1441

1樓:洗頭_用醬油

這其實就來是dp的入門題」自完全揹包「啊……題意轉化一下就是,現在你有n種物品,第i種物品體積為i^2,每種物品數量無限。

然後你有一個容量為n的揹包,問你有多少種方法可以把揹包放滿。

對於以上**:

dp[j]代表:把體積為j的揹包裝滿一共有dp[j]種方法那麼對於要裝滿一個體積為j的揹包,它的過程一定是:(1)先在揹包裡裝j-a[i]體積的物品,(2)然後再把體積為a[i]的物品裝進去。

所以裝滿j-a[i]體積的揹包一共有多少種方法,那麼裝滿j體積就應該加上那麼多種方法,所以裝滿體積為j的揹包一共的方法數為:dp[j]=(i=1 to 20)

對於這個題目,物品的體積和最大的n都已經告訴了,所以可以一次性算出所有的dp[j],最後讀一個輸出一個即可……

關於動態規劃演算法,哪位可以講一下自己心得體會?

2樓:程式設計豬

正好我copy最近也在做動規的題。我來說bai說我覺得呢,動態規du劃和分治、遞迴、遞推都差不zhi多,dao都是把未知轉化為已知來求。

動態規劃甚至就是一種遞推!

想一想求斐波那契數列的第 n 項。我們知道第 1 項是 1,第 2 項也是 1 。於是,接下來的問題就變成:

根據第 1 項和第 2 項求第 3 項

根據第 2 項和第 3 項求第 4 項

……根據第 k-2 項和第 k-1 項求第 k 項……根據第 n-2 項和第 n-1 項求第 n 項這個時候,第 n 項就求出來啦!這就是遞推的思路。

其實,我覺得動態規劃也是一樣的。

c語言求詳細解答,c語言題目,求詳細解答步驟,謝謝。

解釋 各個函式題主都明白吧。fseek fp,0l,0 是移動指標到檔案頭,rewind fp 也是,所以程式一開始往文回件裡答寫了個a 0 fprintf fp,d n a 0 這句 寫了個1,然後做了個迴圈,迴圈5次 i 1,2,3,4,5 每次迴圈先定位到檔案頭,再取出一個數字,就是取出檔案裡...

c語言和c 各有什麼用處和優勢?請詳細解答一下,找工作用哪個多

網上這種資料很多,你可以看看。但看你問的問題的水平,應該都看不懂。慢慢來吧,想從事這個行業就去上大學,大學教什麼就學什麼,從基礎學起 c 相對於c加上了些功能,這些功能主要用來構建大型程式的。鑑於你的專業,主要是用來控制的,和編一些演算法吧,和所以c 的那些擴充套件功能關係不是很大,學好c就夠了。我...

求大神詳細解答,必須詳細解答C語言中a 11,b 19 c a b 3的值怎麼計算

include int fun2 int a,int b int fun1 int a,int b int main 11 19 209 209取3的餘數得到2 c語言 設a 10,b 4 表示式 a b 3 的值是?詳細告訴我怎麼算來的,謝謝!首先看 b 3 b 3就是b b 3 1,整個表示式的...