thspc-2024

前情提要

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

北市賽當天

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

以下是題目:

pA

NN個物品(1N16)(1 \le N \le 16),和一個容量限制QQ,每個物品有pi,si,tip_i,s_i,t_i,要你把每個物品按照pip_i排序之後,把排序後的序列拆分,使得拆分後的每個區間的siQ\sum s_i \le Q,每個區間的cost是maxti\max t_i,求每個區間的cost和最小值。

pB

你有一個N×MN \times M大小的矩形(1N,M500)(1 \le N,M \le 500),還有KK種太陽能板(1K1000)(1 \le K \le 1000),第ii種太陽能板長hih_iwiw_i,每種都能無限用。你要把N×MN \times M大小的矩形分割,第一次分割可以任意分割,第二次以後只能在分割後的區域分割,並在分割後的區域裝上大小不大於此區域的太陽能板,第ii種太陽能板裝上去之後可以得到pip_i的收益,求收益最大值。

pC

求長度為N(1N109)N(1 \le N \le 10^9),由C,D,E,F,G,A,B\text{C,D,E,F,G,A,B}七種字母組成,且符合以下規則的字串有幾種。

  • D\text{D}之後不能放A\text{A},但是可以有DAD\text{DAD},且DA\text{DA}可以是最後兩個字母。
  • count(E)+count(G)\text{count(E)+count(G)}必須為偶數。

pD

給一個M(1M9×105)M(1 \le M \le 9 \times 10^5),和NN個物品(1N100)(1 \le N \le 100),每個物品有pi(1pi106)p_i(1 \le p_i \le 10^6),要你求出,所有物品的子集SS使得iSpiM\sum_{i \in S} p_i \ge M(iSpi)M(\sum_{i \in S} p_i) -M的最小值。

pE

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

pF

MM個山峰(1M2×105)(1 \le M \le 2 \times 10^5),每個山峰有位置pip_i和高度hih_i,保證所有人的pip_i相異。然後有NN筆詢問(1N50000)(1 \le N \le 50000),每次詢問給KK個人的起始山峰(K2×106)(\sum K \le 2 \times 10^6),每個人都只能走到高度不低於他的山峰,而這KK個人要走到同一個山峰去開會,從ii山峰移動到jj山峰的移動距離是pipj|p_i-p_j|,求每個人移動距離和的最小值。

感想

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

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

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

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