8道備賽試題

2021-07-24 22:27:48 字數 2459 閱讀 6948

2096. 【普及模擬套題1】chocolate 

·分析一下題意,因為要求分給k個人,那麼只能分k-1次,注意,每次分只能分一塊蛋糕,不能同時分。

·所以我們只需遞迴一下並記錄一下值即可

·記錄的值就是對應的蛋糕是否之前已經算過可分

·因為記錄的值分true和false,所以我們可以用函式更加簡單

難度:**

2097. 【普及模擬套題1】distinct 

明顯的二分答案。

·貪心思路:盡量將所有士兵往左移

·注意貪心的時候對於乙個座標i,二分的答案m,則這個位置上的士兵能移到的最左位置為i-m,最右位置i+m,根據「左移」的思想,我們還需判斷當前能移到的位置一定不能與上次的最右位置重疊,所以上次的最右位置需要另開變數記錄

難度:**

2100.【普及模擬套題2】八數碼 

·bfs

·雜湊難度:*

2101.【普及模擬套題2】多段線性函式 

·分析題意,給你m個區間,並給出m個區間的取值li,ri.

·現在,讓你求乙個區間l,r,滿足函式f(l)=f(l+1)=...=f(r),並且f[l..r]是所有函式值的最小值.

·若·把所有l,r合併一起,排序後取中位數即可

·三分,兩次三分分別求出邊界即可

·很明顯根據題意可以得知f(x)的值程下降-平行-上公升型,那麼對於這麼乙個不嚴格的單峰函式,二分顯然錯誤,那麼考慮三分

·具體如何三分?

·假設對區間[l..r

]進行三分,設x為第乙個三等分點,y為第二個三等分點,顯然,我們如果當前要求峰值中最左那乙個,那麼三分思想就是讓[l..r]的值盡量小,根據此思路,如當f(y)>=f(x)的時候,則將r變為y,否則將l變成x

·求峰值中最右的那乙個亦然

難度:***(第一次接觸三分)

2106. 【普及模擬套題3】門票 

·題目大意,給你一些母音字母,子音字母,要求你組乙個長度為l的串,使得這個串中至少有1個母音字母與2個子音字母

·因為題目中有一重要條件,最多隻需前輸出25000個串,則此題難度大大減低,不加任何優化純粹暴力也可過

·但這道題如若不是這麼要求的話,想想剪紙,應該也是比較容易的

難度:*

2107. 【普及模擬套題3】交流 

·題目大意,給你m個串,然後讓你求出在其中符合k個串相同的字串的個數

·特別注意,符合且僅符合k個串

·暴力,我們要求只符合k個串的,這很容易實現,遞迴就行了,但是如何去重呢?

·很明顯,我們可以先把符合k個字串的字串拿出來,如果此字串又在剩下字串裡多符合了1個字串,那麼就得把符合這k+1個字串的個數都減掉,固然,當你把所有k+1的都減去後,你會發現k+1與k+1互相的交集減多了,所以把符合k+2個字串的個數加上,以此類推

·這樣暴力可以拿80分,但如果想要水過的話,還需加乙個sb剪枝,如果當前選的串已經不能對答案有貢獻則直接退出

·這題還可以用dp

解決,暫時不會

2108. 【普及模擬套題4】買裝備  

·題目大意不說了,很明顯的二維dp

·設fi,j

表示有i

的物抗,

j的魔抗所花費的最小金幣數

·方程顯然

·注意如果每一維上的值大於最高能選的值得花就直接設為最高能選的值

2109. 【普及模擬套題4】清兵線 

·題目大意,乙個數軸上,從原點開始,往一些站有士兵的地方出發,每個士兵的血量為

m,那麼走到乙個士兵所站的位置,把它殺了後能獲得的金幣是

m-dis

,dis

表示當前走過的距離,讓你統計在某一時刻的最大金幣數為多少

·先縱觀資料,

n<=300,

m沒鳥用,那麼容易想到

dp·假設當前總共想殺

k個小兵·設f

i,j表示當前殺了

i~j段小兵的最大金幣數

·這麼設對嗎?

·我們得需先明白乙個性質,假設當前想殺

i~j這一段的小兵,必須是線性殺過去,但殺的方向不同結果會不一樣,嚴謹說來就是沒有後效性

·那麼對於這麼乙個狀態,我們並不知道到底是從哪邊殺過去,所以轉移比較難推,我們可以多加一條件·設f

1,i,j

表示當前殺

i~j段小兵,最後到i的最大金幣數·設f

2,i,j

表示當前殺

i~j段小兵,最後到j的最大金幣數

·之後,我們還要想清楚,因為每個小兵的金幣數與之前走的路程有關,但我們如果直接統計走的路程的話,較為繁瑣,我們可以在殺乙個小兵時,直接加上它的貢獻m,再減去這個點帶來的所有「負作用」,也就是從上乙個小兵走到這個小兵所需花費的路程時間在接下來所需殺得所有小兵身上都給減掉,那麼對於下乙個小兵就不需考慮以前走過路程帶來的這一因素。

·轉移方程就不寫了,看懂上面的話,應該是不難推出

·注意,有可能小兵的血量為負數,所以不一定所有的小兵都要殺, 選取最大的

f1i,j,

f2i,j即可.

前端 每天5道面試題(8)

每天背5道前端面試題,你會越來越優秀 1 console.log 是同步還是非同步?如何實現 乙個 console.log?console.log 內部實現的是 process.stdout,將輸入的內容列印到 stdout,非同步同步 取決於 stdout 連線的資料流的型別 需要寫入的位置 以及...

道可道,非常道 8個做事之「理」

道可道,非常道 8個做事之 理 66begin 如果說 真的要從楊萃先書 找點反覆品味的地方,我想這必然是其中之一。凡是累了,請做減法。常說。在學業上是這樣的。但是在做人上,我還得輕快的做加法。很多不懂。66end 為人之道,做事之理,需要長時間的領悟與實踐才能掌握。僅據筆者的拙見,在大學期間,最重...

2021美賽備賽 02 MCM的經驗

不看後悔!非常值得收藏的乙個鏈結 要寫什麼東西?五步建模法 一種團隊分工 模型搭建 提供對問題的解決思路 方法 模型實現 通過各軟體對模型進行模擬 求解 檢驗 寫作 通過準確的文字 圖表對模型進行展示 美觀!軟體的準備 按自己的習慣更改 程式設計 matlab python cpp 統計建模 sps...