8.27 米哈游筆試
2小時(shí),10單選,15多選,3編程。
選擇題考點(diǎn)涉及NAT、TCP、UDP、DNS、IGMP、RIP、vector、auto、enum、結(jié)構(gòu)體、B+樹(shù)、sql語(yǔ)句、get/post、文件共享方式、進(jìn)程切換等。
- 第一題
題意:在二維坐標(biāo)系上,有人和2只怪物,人的起始位置在(1,1),怪物分別在(x0,y0)和(x1,y1)。人有起始生命值H,每秒可以選擇上下左右方向移動(dòng)一格,如果當(dāng)前格子上有怪物,也可以花費(fèi)1秒和怪物戰(zhàn)斗。怪物的起始戰(zhàn)斗力為h[i],每隔a[i]的時(shí)間會(huì)提升b[i](1≤a[i], b[i]≤1e5)。如果戰(zhàn)斗時(shí)人的剩余血量≥怪物戰(zhàn)斗力,人可以扣除怪物戰(zhàn)斗力數(shù)值的血量來(lái)打敗怪物。求人打敗兩只怪物后剩余的最大生命值,如果無(wú)法打敗則輸出“yingyingying”。
題解:只有兩種策略,先打怪物1再打怪物2,或先打怪物2再打怪物1。各算一下,取最大值。(注意怪物的戰(zhàn)斗力可能增長(zhǎng)到爆int)
- 第二題
題意:有n(≤1e5)個(gè)數(shù)的數(shù)組,A和B兩人進(jìn)行博弈。開(kāi)始時(shí)在數(shù)組中隨機(jī)一個(gè)位置,接下來(lái)每人要選一個(gè)位置在上一個(gè)數(shù)左邊且比上一個(gè)數(shù)小的數(shù),無(wú)法選擇的人輸。求先手贏(yíng)的概率,用分?jǐn)?shù)表示。
題解:如果初始隨機(jī)數(shù)x的左邊存在小于x的數(shù),A只要選擇左邊最小的一個(gè),B就無(wú)法再選了,A必贏(yíng);否則A必輸。統(tǒng)計(jì)一下有多少個(gè)這樣的x,x/n(除掉最大公約數(shù))即為答案。
- 第三題
題意:給出一棵n(≤1e5)個(gè)點(diǎn)的樹(shù),每個(gè)點(diǎn)上有一個(gè)字符m或h或y。求樹(shù)上所有路徑組成的字符串中,包含mhy子串的數(shù)量。
題解:假設(shè)根節(jié)點(diǎn)字符為h,子節(jié)點(diǎn)為m的子樹(shù)大小=【x,y,z】,子節(jié)點(diǎn)為y的子樹(shù)大小=【a,b,c】,那么對(duì)答案的貢獻(xiàn)為(x+y+z)*(a+b+c)。那么dfs統(tǒng)計(jì)子樹(shù)大小,再在每個(gè)字符為h的節(jié)點(diǎn)上按該公式計(jì)算,就能得到總的答案。
————————————————————————
update
9.7收到了拒信,要么就流轉(zhuǎn)到測(cè)試開(kāi)發(fā)那邊,麻。
真就路過(guò)條狗都給我丟一份測(cè)評(píng)+筆試啊,做完再掛我。