1. 程式人生 > >2018清華大學學生程序設計競賽暨高校邀請賽

2018清華大學學生程序設計競賽暨高校邀請賽

spa 串串 line 時間復雜度 等於 str 進行 學生 分解質

2018清華大學學生程序設計競賽暨高校邀請賽

A. 綠綠與串串

solution
生成字符串的方式決定了:當字符串中的某個奇回文串的左端為開頭,或右端為結尾時,這個奇回文串的中間的位置就是其中一個長度。

時間復雜度:\(O(n)\)

B. 賽艇

solution
將路徑也弄成一個矩陣,然後壓位判斷。

時間復雜度:\(O(\frac{1}{64}n^2m^2)\)

F. 密碼學第三次小作業

solution
一看它給了兩個式子就知道不是暴力分解質因子。

中間有一個很特別的性質:\((e_1, e_2)=1\),也就是說存在\(s_1e_1+s_2e_2=1\)

\[m (mod N)=m^{s_1e_1+s_2e_2} (mod N)=c_1^{s_1} c_2^{s_2} (mod N)\]


註意\(s_1, s_2\)是一正一負,所以還要求某個數的逆元。

時間復雜度:\(O(logn)\)

I. 城市地鐵規劃

solution
跟樹的度有關的就想到\(prufer\)序列,樹的每個數的度等於在該序列的出現次數加一。所以可以用一個\(n^2\)\(dp\)求出最大值,並得出對應的\(prufer\)序列,就可以還原一棵樹。

時間復雜度:\(O(n^2)\)

J. 弗雷茲的玩具商店

solution
維護一個\(60\)個域的線段樹,每次詢問做一次背包。

時間復雜度:\(O(nm+qmlogn)\)

K. 蛋糕

solution
數學題,找規律,也可以進行降維類比。

時間復雜度:\(O(1)\)

L. 生生不息

solution
打表。

M. 為最美的那位獻上花朵

solution
第一題的輸入樣例的最後一個單詞。

2018清華大學學生程序設計競賽暨高校邀請賽