2022藍橋杯省賽 a組


以下解法是聽了wls講解后寫的,先膜為敬%%%

b站鏈接

D 選數異或

題意:給出一個數組a和一個數x,有m個詢問,詢問在區間[l,r]內是否存在兩個數異或結果為x。

正解:找出每個數與x異或后與它相等的左邊(右邊)第一個數的位置。左右無所謂,異或是相對的,如果靠近當前數a最近的是在它右邊的b,那對b來說它肯定能找到a。然后線段樹求區間內每個數左側離它最近的最小值,判斷是否在區間內。

(wls:我不明白為什么第四題要考這么難的題

E 爬樹的甲殼蟲

題意:有個甲殼蟲,每次花1s往上爬一格,有Pi的幾率掉回樹根,求爬到n的期望。

正解:En為從這一點走到n的期望。En=0,求En-1。 有Pn-1的概率掉下去,則En-1=Pn-1*E0+(1-Pn-1)*En+1.依次代入,求出E0。但E0現在不知道,相當於每個式子都有未知數。E0=P0*E0+(1-P0)*E1+1,E0=E1+1/(1-P0),常數項最后為1/(1-Pi)+1/(1-Pi)(1-Pi-1)+...+1/(1-Pi)...(1-P0)的形式。En=0,所有最后答案就是那一串。算概率是從起點往終點算的,算期望是從終點往起點算的。

F 青蛙過河

題意:小青蛙要上x次學,每往返一次就要過2次河,總共過2x次河。河里有n塊石頭,每塊石頭有一個高度,每用一次,高度減一,高度為0的石頭不能用。現在求小青蛙的最小跳躍距離,使得它能上完這x次學。

正解:每次貪心地跳,能跳多遠跳多遠,這是只跳一次的策略。要跳2x次,讓這2x次一起跳,顯然最遠的距離有可能容納不下這2x次,那就找之前的節點一起分擔。這就導致了最后落腳點不同。然后針對不同的落腳點,再往后推f格,最后統計這些所有的落腳點推出去的格數能否容納完這新的2x次。用並查集記錄左邊第一個非0點的位置可以把復雜度降到O(n)。但還是很難寫的樣子。

G 最長不下降子序列

題意:給出一個序列,現在你可以把其中長為k的連續一段換為任意一個數,求操作一次后的最長不下降子序列長度。

正解:前一段固定,中間一段為a[i-1],最后一段固定,只要看最后一段作了多少貢獻。也就是將a[i+k]改成a[i],再求之后的最長不下降子序列。用權值線段樹統計i+k+1后區間內大於a[i]的數個數最大值。

H 掃描游戲

題意:二維平面上有n個點和一根棒,棒長L。現在這根棒從y軸正向順時針掃過去,沒碰到一個點,棒長相應增加一段。求一路掃過去掃到的點的順序。

正解:用叉積極角排序。令所有比當前高的線段為0,線段樹找下一個非0的位置在哪里,然后再把比它矮的加入線段。好難寫(

I 數的拆分

題意:給出一個數a,求問這個數能否拆成x1y1x2y2的形式,其中x1x2為正整數,y1y2為大於等於2的正整數。

正解:先是一個我等蒟蒻想不到的結論:如果能拆至少是一個x2y3的形式。算一下1018的1/5次方,大概是4000,也就是x和y里小的那個數不超過4000。算一下4000里的數的平方和3次方,看看余下的數是否是平方或三次方,這樣復雜度還是會超。再進一步先算出里面的質數,然后分一分。如果有一個素因子只出現1次則不行,否則都可以塞到2和3里面去。判平方和三次方可以sqrt什么的一下,然后看最近的兩個數能不能拼出來。

(wls:本場比賽最難的題來了。至少是個金牌題吧,銀牌題也沒長成這樣的。

J 推導部分和

題意:給出若干組形如sum[l...r]=x的數據,求sum[l...r]的值,如果不能求出輸出unknown。

正解:給出的相當於Si-Sj-1,連邊加權值,令一個位置為0,bfs一次。如果兩個數不在一個連通塊里,那么無解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM