淺談貪心算法1
阿新 • • 發佈:2018-10-03
得到 心算 算法 部分 問題 解釋 做出 三角形 結果
這套貪心算法的博客是分5個階段的,今天先和大家介紹一下貪心的本質
貪心算法,是OI中重要的一部分,也是考察一個選手在考場上的思維水平的量尺,這類問題可能很簡單,但也有可能很難
貪心算法是指求解問題時,每一步都使用當前看似最好的選擇,但是這並沒有從在整體上分析問題,只是做出了在某種意義上的局部最優解,有時這樣做會導致整體上的問題不是最優的,從而失掉大量分數
貪心並沒有固定的框架,而是考察選手的分析能力與思維水平,核心在於貪心決策的選擇,選擇的貪心策略首先要考慮無後效性,才能考慮和證明局部解和全局解的關聯
今天先淺談一下數字三角形問題
題目地址:https://www.luogu.org/problemnew/show/P1216
那麽思考一下,一味的貪心是怎麽樣的呢?可以拿樣例來試一試
每一步都取最大的嗎?
那麽按這種策略來寫,樣例的結果是7+8+1+7+5=28,但是,樣例解釋的那條路徑顯然更大
這時候,局部的最優解就不一定是全局的最優解了,所以這是就要另辟蹊徑,看一看是切換貪心決策還是使用其他算法
有時侯,題目的樣例會和你說你的貪心策略是錯的,比如這題,但是有時樣例過了,這時候千萬不要飄飄然,多生成幾個樣例,再多去思考,有時可以通過直覺或數學證明來得到貪心策略的對錯,也正是局部解與最優解的聯系
淺談貪心算法1