1. 程式人生 > 其它 >華師菜鳥杯2020

華師菜鳥杯2020

A

考場模擬一天結果一看題解被暴力卡過去了

把每個螞蟻爬到原點的時間扔佇列裡排序,隊首螞蟻拿完後加上往返一次的時間扔到隊尾模擬

B

分種類字首和

C

打個表可以發現,數字遞增規律約是等差數列遞增,但是遇到平方數會停止增加

\[x=\lfloor\sqrt{n}\rfloor\\ sum=(1+2+…+n)-(1^2+2^2+…+x^2)\\ sum=\frac{(1+n)n}{2}-\frac{x(x+1)(2x+1)}{6}\\ ans=sum*6 \]

D

\(4\)格等於跳兩個\(2\)格,所以奇數都能跳到,偶數都跳不到

E

白給

F

假設全\(0\)往裡填\(1\),首先不會連著放,不然沒用,徒增字典序

所以除了題目給定的不能放\(1\)的位置,一個\(1\)的兩側也是不能放\(1\)的位置

除了邊緣,每放一個\(1\)都會增加兩點貢獻

所以列舉最後一位放\(1\)或者不放\(1\),然後從右到左能放就放

G

一個炮塔兩側不滿一整段的部分單獨記錄,只有\(2*m\)次操作

中間部分線段樹記錄

統計答案時找出數值最大的\(k\)段翻倍

H

反悔貪心,想到了沒寫出來

觀察資料範圍,\(n*\sum u_i\)只有\(1e6\),可以對每顆草單獨處理

開兩個堆,一個存前面多出來的,另一個存前面空缺的

以當前位置需要放入為例\(val_i=min(a*i,c*|j-i|-val_j)\)

其中\(val_j\)

是曾經放入的多出的藥草

這裡關於\(c*|j-i|\)的處理,可以在堆中放入\(-val_j-c*j\),取出時加上\(c_i\)

I

不會,\(lyh\)聚聚出的數學題太毒了太難了

J

從前向後列舉

若是先見到大於當前位置的字元就直接挪過來,記錄當前答案加之前挪動相等字元的答案

若是見到等於當前位置的字元就將字元挪過來,在後面繼續尋找大於的字元

模擬題真是綜合考研馬力和清晰的思路

K

記錄兩個字串相差多少個\(H\),再記錄有多少位不同

每次改變可以減少\(1\)個不同,每次交換可以改變\(2\)個不同

先改變到\(H\)相等再交換

L

簽到題,看清題目