<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          2w+字絕殺!動態(tài)規(guī)劃.pdf來了

          共 1594字,需瀏覽 4分鐘

           ·

          2022-03-06 15:33

          前言

          大家好,我是bigsai,好久不見,甚是想念。

          今天給大家分享我的動態(tài)規(guī)劃原創(chuàng)的pdf,2w多字,里面囊括28道最經(jīng)典的動態(tài)規(guī)劃問題,可謂是絕殺利器(自吹一波)!

          一直有朋友說動態(tài)規(guī)劃很難,確實(shí)動態(tài)規(guī)劃非常靈活,但是對于找工作來說,我們需要掌握的動態(tài)規(guī)劃其實(shí)相比競賽范疇那些復(fù)雜的沒那么難,一些狀態(tài)轉(zhuǎn)移方程、數(shù)組定義方式有的還是很容易看出來的,有的不容易看出來思考看別人解答也是可以理解的。

          剛好現(xiàn)在??偷囊粋€專欄筆刷101有動態(tài)規(guī)劃系列的題,我把里面和自己加了一些動態(tài)規(guī)劃的題目都寫了,我的實(shí)現(xiàn)是基于??偷墓P刷101基礎(chǔ),但我給了??秃土鄣膶?yīng)鏈接的。

          ??凸P刷101鏈接:https://www.nowcoder.com/exam/oj?tab=%E7%AE%97%E6%B3%95%E7%AF%87&topicId=295

          這個題庫總結(jié)不錯,建議大家刷一下。

          e95944d9e01c9ba5aafb7fdc0d0d40a0.webp

          什么是動態(tài)規(guī)劃

          動態(tài)規(guī)劃的范圍雖然確實(shí)是很廣很難,但是從整個動態(tài)規(guī)劃出現(xiàn)的頻率來看,這幾種基礎(chǔ)的動態(tài)規(guī)劃理解容易,學(xué)習(xí)起來壓力不大,并且出現(xiàn)頻率非常高。

          這幾個常見的動態(tài)規(guī)劃有:連續(xù)子數(shù)組最大和,子數(shù)組的最大乘積,最長遞增子序列(LIS),最長公共子序列(LCS),最長公共子串,最長公共子串,不同子序列。

          首先很多人問,何為動態(tài)規(guī)劃?動態(tài)規(guī)劃(Dynamic Programming,DP)是運(yùn)籌學(xué)的一個分支,是求解決策過程最優(yōu)化的過程。通俗一點(diǎn)動態(tài)規(guī)劃就是從下往上(從前向后)階梯型求解數(shù)值。

          那么動態(tài)規(guī)劃和遞歸有什么區(qū)別和聯(lián)系?

          總的來說動態(tài)規(guī)劃從前向后,遞歸從后向前,兩者策略不同,并且一般動態(tài)規(guī)劃效率高于遞歸。

          不過都要考慮初始狀態(tài),上下層數(shù)據(jù)之間的聯(lián)系。很多時(shí)候用動態(tài)規(guī)劃能解決的問題,用遞歸也能解決不過很多時(shí)候效率不高可能會用到記憶化搜索。

          對于一個動態(tài)規(guī)劃的問題來說,通常解決也是有技巧的,大致來說有以下幾個步驟:

          • 確定dp數(shù)組含義:定義dp數(shù)組的維度以及dp數(shù)組定義(對應(yīng)下標(biāo)值的含義)。

          • 確定遞推式:確定當(dāng)前下標(biāo)的dp值與前面已確定結(jié)果之間的關(guān)聯(lián)。

          • 初始化dp數(shù)組:考慮dp數(shù)組的0號位置、邊緣位置以及特殊情況的一些值。

          • 確定遍歷順序:正確的遍歷進(jìn)行dp推導(dǎo),保證讓數(shù)據(jù)結(jié)果一層一層"鋪滿"。

          當(dāng)然動態(tài)規(guī)劃也能有很多空間優(yōu)化,有些只用一次的值,你可以用一些變量去替代。有些二維數(shù)組很大也可以用一維數(shù)組交替替代。當(dāng)然動態(tài)規(guī)劃專題很大,有很多比如樹形dp、狀壓dp、背包問題等等經(jīng)常出現(xiàn)在競賽中,能力有限這里就將一些出現(xiàn)筆試高頻的動態(tài)規(guī)劃!

          最后做動態(tài)規(guī)劃的問題時(shí)候,有幾個小建議一定要處理好:

          • 多嘗試dp數(shù)組維度和含義,這個需要有一定的經(jīng)驗(yàn)才更好。

          • 初始、邊緣等情況初始情況好好考慮,要讓初始、邊緣等能夠正常參與遞推。

          • 推導(dǎo)狀態(tài)轉(zhuǎn)移時(shí)候要跳出思維限定,只尋找這個結(jié)果和前面的聯(lián)系(不要考慮前面哪里來的、前面值是否正確之類),這點(diǎn)和有遞歸信賴是有點(diǎn)類似的。

          不太明白?看完這些題解你應(yīng)該會明白:

          dff0eb3d3951e175d9544325a1f34f28.webp部分截圖742d90d805592c59779b5038ed8b2d69.webp

          結(jié)語

          這個其實(shí)還沒有完全完善(在dp系列還沒有做好歸納總結(jié),缺一些),但是鑒于很多人需要,我就先分享給大家了,暫時(shí)先不放在公眾號分享給大家(后面完善再放到公眾號),有些不錯的經(jīng)典題后面也會單獨(dú)作為文章發(fā)出來分享交流。

          后續(xù)都會同步到倉庫中,還求個starhttps://github.com/javasmall/bigsai-algorithm

          獲取方式:

          • 分享在交流群中,有我好友的可以直接問我要,可以分享給好友

          • 加我好友(bigsai66)備注(動態(tài)規(guī)劃)我發(fā)給你。

          因?yàn)檎肀容^粗糙,難免可能有些差錯,先分享給一部分人看看,有問題修修改改然后不斷完善,最近有點(diǎn)忙無法保證輸出,咱們后面再見!

          歡迎添加?「bigsai66」,備注[動態(tài)規(guī)劃]


          好東西記得分享(點(diǎn)贊、再看)一下

          瀏覽 93
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天美张佳晨 | 伊人在线视频 | 动漫摸无码视频 | 999在线免费视频 | 天天日天天射大香蕉 |