1. 程式人生 > 其它 >ABC223比賽記錄

ABC223比賽記錄

想說的話

打了將近一個月的\(Atcoder\),包含\(VP\)在內應該有10場左右,一直沒有時間總結,今天就把坑填了吧。

ABC223

A

詢問一個整數是否是100的正整數倍。

B

問一個字串的所有迴圈移位中字典序最大的和最小的。

迴圈一遍取出所有的字串,排序即可。

C

\(n\)個保險絲,第\(i\)根保險絲的長度為\(A_i\),每單位長度燃燒所需要的時間為\(B_i\)​​,問當累計燃燒多少單位長度時燃燒時間剛好是總燃燒時長的一半?

首先算出總燃燒時長,再一根根去燒,累加長度,當剩餘時間不夠燒完當前這根時,就按照比例擷取。

D

給一些偏序關係,要求取出一個序列,使它的字典序最小。

優先佇列+拓撲排序,和菜餚製作那個題很像。

E

這個題真的噁心人。

給一個\(X\cdot Y\)的大矩形,問能否切出三個矩形使這三個矩形的面積至少為\(A,B,C\)

分情況討論。

第一種:保留長或寬分成三個矩形,整個圖案是"目"字形。

第二種:割一個矩形,再根據這個矩形的兩邊和原來大矩形的長寬平滑的割成三塊。

交換\(X,Y\),列舉\(A,B,C\)的全排列可以避免關於匹配問題的討論。

F

F沒有E噁心人。

給定一個括號序列,實現單點修改,詢問區間是否為合法的括號序列。

寫個支援區間修改和區間最大最小值的線段樹就好了。

G

換根DP。

\(f[st][0/1]\)​表示是否選取\(fa_{st}\to st\)這條邊的最大匹配數。

換根的時候把父親當成兒子討論一下。

H

線性基。

把詢問離線下來,線性基中除了元素外,還記錄每個元素出現的儘可能玩的位置。

基本上是個板子,詢問的時候關心是否用到了左端點以前的元素即可。

總結

這一場打的還不算差,只是E沒做出來心態有點崩,就沒看F了,這實在是一件遺憾的事。

打這種比賽一定要注意細節,保持好的心態,不要以為這個做不出後沒的更做不出,要看玩所有題。

撒花❀