5.10美團(tuán)筆試
似乎美團(tuán)筆試成績(jī)不重要,不管了,求撈吧
選擇題(30分10道)
選擇題6道大模型,完全不會(huì),亂選,還有一道希爾排序,早忘光了,亂選...
編程題(70分3道)
第一道 100%
似乎是每次可以朝著上下左右走a_i步(a_i=0 or 1),求當(dāng)前位置(x,y)是否能恰好在走完n步后到達(dá)(p,q)
EZ,直接判斷曼哈頓距離,看是否能走到,只要走到目的地之后還可以走偶數(shù)步即可(左右/上下?lián)u擺)
第二道 100%
最多選擇一個(gè)操作使得區(qū)間[l,r] 一起加1,求陡峭程度的最小值?(陡峭程度為)
蠻簡(jiǎn)單,差分的思想,區(qū)間相加對(duì)應(yīng)的是suf[i]++,suf[r+1]--;
對(duì)于suf_i 和suf_j有4種情況(><,<>,>>,<<0)只要suf出現(xiàn)了非0元素則可以通過(guò)l=1 or r=n的方式解決。
若滿足了suf_i<0&&suf_j>0 (j>i)則一個(gè)負(fù)數(shù)++和一個(gè)正數(shù)--,減免2
第三道 0%
前兩道寫完還有一個(gè)多小時(shí),沒(méi)想出來(lái),最后打了暴力O(nq)還是0%,麻了
從數(shù)組 (長(zhǎng)度為
)中挑選兩個(gè)非空子序列,這兩個(gè)子序列元素在原數(shù)組中的相對(duì)順序與原數(shù)組一致。若這兩個(gè)子序列都嚴(yán)格單調(diào)遞增,則稱這對(duì)子序列滿足條件。
現(xiàn)給出 q 組查詢,每組查詢給出一個(gè)區(qū)間 [l,r])(基于數(shù)組 a 的下標(biāo)),請(qǐng)判斷區(qū)間 內(nèi)是否存在滿足條件的兩組非空子序列。
如果存在,輸出 YES,否則輸出 NO。
還以為是簡(jiǎn)單的最長(zhǎng)上升子序列呢(其實(shí)也算是?),結(jié)果發(fā)現(xiàn)無(wú)法做
線段樹(shù),用到結(jié)論:一個(gè)序列可以被劃分成 k
個(gè)嚴(yán)格單調(diào)遞增子序列,當(dāng)且僅當(dāng)它不包含長(zhǎng)度為 k+1
的嚴(yán)格單調(diào)遞減子序列。(Dilworth定理?)
即一個(gè)序列可以被劃分成兩個(gè)嚴(yán)格單調(diào)遞增子序列,當(dāng)且僅當(dāng)它不包含長(zhǎng)度為 3
的嚴(yán)格單調(diào)遞減子序列。
---> 判斷給定的子區(qū)間 a[l...r]
是否包含一個(gè)長(zhǎng)度為3的嚴(yán)格單調(diào)遞減子序列
很久沒(méi)寫題了,已經(jīng)成殘廢了