首頁> 現代都市> 目錄頁> 第14章 三十分?

第14章 三十分?

2026-06-02 03:20:14 作者: 迴風天

  「在座的都有一定基礎,我就不繞彎子了。」

  胡云程一到講台上,就像變了個人似得,雙手撐著桌面,鷹視狼顧,

  「信息學競賽,翻來覆去就考察兩個東西——算法,和編程。前者是解決問題的思路,後者是把思路變成機器能執行的步驟。兩個環節,少了哪個都不行。」

  他抬起手,在鍵盤上敲了一下。

  「現在,看你們面前的屏幕,思考這道題。」

  李林的目光落在屏幕上,題目不長,但信息量不小:

  「假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。」

  「對每個孩子i,都有一個胃口值g[i],這是能讓孩子們滿足胃口的餅乾的最小尺寸;並且每塊餅乾j,都有一個尺寸s[j]。如果s[j]>=g[i],我們可以將這個餅乾j分配給孩子i,這個孩子會得到滿足。你的目標是滿足儘可能多的孩子,並輸出這個最大數值。」

  單看文字描述,腦子一時半會兒還有點繞。

  但題目下面配了兩組示例,李林掃了一眼,大概就懂了。

  「示例:輸入為g=[1,2,3],s=[1,1]時;輸出應該為1。」

  「解釋:你有三個孩子和兩塊小餅乾,3個孩子的胃口值分別是:1,2,3。雖然你有兩塊小餅乾,由於他們的尺寸都是 1,你只能讓胃口值是1的孩子滿足。所以你應該輸出1。」

  道理不難懂。

  但真要讓他從頭開始想,果然還是有點頭痛。

  算法的本質,說到底就是數學啊。

  而他跟數學的關係,就算比作「美蘇冷戰」,都會得到「沒那麼鐵」的評價。

  「融合。」

  李林在心中默念。

  【高中數學+高中語文】→【獲得效果「分析lv1」】

  相性臨時提升的李林,也終於開始思考。

  然而,才過了不到一分鐘,胡云程的聲音就從講台上傳了下來。

  「這道題該用什麼算法?」

  李林有些詫異地抬起頭。

  這麼快?

  他連思路都還沒捋出來。

  「貪心算法——」

  101看書 101 看書網超便捷,𝟷𝟶𝟷𝚔𝚔𝚜.𝚌𝚘𝚖隨時看 全手打無錯站

  前排已經有幾個同學脫口而出。

  胡云程見狀,笑了起來,

  「很好。一看就是刷過題的,看一眼就知道答案了。」

  他隨手指了指剛才搶答的一個男生,

  「你,解釋一下為什麼要用貪心算法。」

  那男生頗有自信地起身,聲音洪亮道,

  「貪心算法的核心思想是,在每一階段都選擇當前看起來最優的解,通過堆積局部最優來達到全局最優。具體到這道題,我們應該先把給出的兩個數組排序,然後——」

  「停。」

  然而,胡云程毫不留情地打斷了他,

  「我問的是,『為什麼』要用貪心算法。」

  「額——?」

  男生被截斷了話頭,臉上的表情有些僵硬,

  「因為……額,因為……」

  「因為什麼?因為答案上是這麼寫的?因為你刷過一模一樣的題,所以直接把答案背出來了?」

  胡云程一步步逼近,語速越來越快,

  「你剛才還說貪心是通過堆積局部最優解達到全局最優,那麼一定能達到全局最優嗎?是所有問題都能用貪心算法嗎?」

  「不……不是。」

  「那這道題憑什麼就能用?」

  「……」

  一連串的快速提問,直接把那個男生給問傻了。

  他張了張嘴,一個字都吐不出來。

  機房也瞬間安靜,似乎連呼吸聲都被刻意屏住了。

  可惜,胡云程卻沒有放過他們的意思。


  他一個個地把剛才出聲回答的人都點了起來,反覆問同一個問題——

  「為什麼用貪心算法?」

  卻沒有一個人能給他滿意的答覆。

  胡云程嘆了口氣。

  「誰有思路?」

  鴉雀無聲。

  「三十分——」他的目光落在角落裡,「你有嗎?」

  被點到名字的李林緩緩站了起來。

  「我不懂貪心算法。」

  他的回答很正常,正常到周圍的人連表情都懶得做。

  也是,一個數學月考三十分的人,指望他懂這個?

  現在站著的都是清北班和重點班的學生,難不成還能指望一個普通班的來救場?

  要是那個誰……叫楊什麼的來,估計還有點戲。

  這是大部分人內心的想法。

  在下一刻就被打破了。

  「但我確實有一個思路。」

  周圍的目光忽然聚了過來。

  「哦?」

  胡云程的眉毛也微不可察地挑了一下,

  「展開講講。」

  在他閻王點卯這段時間,李林一直沒有停止思考。

  此刻李林站起來,腦子裡那條原本模糊的思路已經逐漸凝聚成形。

  他定了定神,開始說,

  「我想的是,選擇一個極值作為切入點,比如,尺寸最小的餅乾,應該給哪個孩子?」

  「如果這塊餅乾的尺寸,比所有孩子裡最小的胃口值還要小,那它就是一塊廢餅乾,誰都滿足不了。但如果不是,那它就應該分給胃口最小的那個孩子。」

  「因為如果不分給他,萬一其他孩子的胃口都比這塊餅乾大,我們就白白浪費了一次分配機會。把一個最小的資源,用在最容易被滿足的需求上,這看起來是最不虧的選擇。」

  「在發完這個餅乾後,繼續考慮尺寸次小的餅乾,思考方式和上面一樣,直到所有尺寸的餅乾都考慮完,就能得到最終答案。」

  話音落下,周圍靜悄悄的。

  李林抬起頭,發現四周的目光都釘在了自己身上。

  他下意識地看向講台,正看到胡云程臉上的嚴肅一點點舒展開來,變成了一張幾乎壓不住的笑臉。

  「同學們,看到沒有?」

  胡云程轉過身,拿粉筆在黑板上敲了敲,

  「三十——咳,李林同學很謙虛,嘴上說自己不懂貪心算法。但他剛才說的那一套,每一步都在找當前最優解,一步一步推到最後。這就是最標準的貪心算法,也是這道題的最優解。」

  他轉回來,目光重新落在李林身上,但笑容里多些期待。

  「那麼,李林。你能回答我的問題嗎?為什麼這道題,可以用貪心算法解決?」

  胡云程注視著他。

  不止是昨天,就在剛才,李林又給了他一個驚喜。

  貪心算法雖然算不上什麼複雜算法,但是能用如此通俗自然的語言解釋出來,已經頗為難得了。、

  所以他決定賭一把。

  賭這個數學只有三十分的學生,真的能達到他的期待。


關閉
Δ