thspc-2024

前情提要

雖然複賽打得有夠爛(rank 8),總之進校隊了。
從複賽到北市賽之前有差不多一個月的時間,在這期間我看了很多題,還有北市賽的考古題,然後學了一些字串演算法,還玩了一下Hopcroft Karp常數比較小的寫法(雖然他要shuffle但是真的很好玩)
北市賽前一周和顏巨砲和詹哲崴vir了BOI 19,然後d2心態炸了打爆炸爛,心態穩的話有機會打得更好。還好BOI 19 d2打太爛沒有影響到我打隔天北市模擬賽,拿了一個rank 2,好爽。
北市賽前兩天連上北市賽的CMS系統測試,然後他的judge只有C++17的選項,不知道在幹嘛。

北市賽當天

早上就先去報到然後聽個規則就準備開打了。

以下是題目:

pA

個物品,和一個容量限制,每個物品有,要你把每個物品按照排序之後,把排序後的序列拆分,使得拆分後的每個區間的,每個區間的cost是,求每個區間的cost和最小值。

pB

你有一個大小的矩形,還有種太陽能板,第種太陽能板長,每種都能無限用。你要把大小的矩形分割,第一次分割可以任意分割,第二次以後只能在分割後的區域分割,並在分割後的區域裝上大小不大於此區域的太陽能板,第種太陽能板裝上去之後可以得到的收益,求收益最大值。

pC

求長度為,由七種字母組成,且符合以下規則的字串有幾種。

  • 之後不能放,但是可以有,且可以是最後兩個字母。
  • 必須為偶數。

pD

給一個,和個物品,每個物品有,要你求出,所有物品的子集使得的最小值。

pE

給你一個只有加法的運算式,加號數量最多,每個數字用一個大寫英文字母代表,之後給你每個加號的執行順序,要你加上括號讓這條運算式加號的順序和他給你的順序一樣。
例如運算式是A+B+C+D,順序是2 3 1,那輸出要是(A+((B+C)+D))

pF

個山峰,每個山峰有位置和高度,保證所有人的相異。然後有筆詢問,每次詢問給個人的起始山峰,每個人都只能走到高度不低於他的山峰,而這個人要走到同一個山峰去開會,從山峰移動到山峰的移動距離是,求每個人移動距離和的最小值。

感想

比賽規則講的C++14和兩分鐘上傳間隔都是假的,有夠好笑,看到CMS上有C++17我就爽爽開用了,不過兩分鐘上傳間隔可能是因為傳上去之後要跑兩分鐘以上,然後你就真的可以等兩分鐘。

然後聽說有些人pD爆搜+剪枝拿100分,北市賽很會生測資。

負責北市賽的教授說他們預期一等獎的人都可以破台,什麼鬼。而且這場北市賽有4題dp,連一題圖論都沒有,本來我考前猜會考DAG最小路徑覆蓋和高斯消,結果這場有夠簡單==

總之有TIOJ管理員了,然後要負責出明年的校內賽。然後我希望我全國賽打好一點,我不想打TOI初選。