2019暑假杭二day2測試總結

2022-07-31 09:18:17 字數 985 閱讀 4187

目錄t2

t3給出乙個字串\(s\),求出乙個子串行,使原序列的每個字元出現且僅出現一次,且子串行的字典序最小。

t1我得了90分,離奇\(wa\)了第乙個點,正解比我的演算法要簡便地多,維護乙個棧,對於每個字元,如果已經在棧內就直接跳過;否則,若棧頂字元比它大,且之後出現過,則彈出棧頂,以後在加進來(貪心),當不能彈時將當前字元加入棧內。最後,把棧從下往上輸出即可。

有乙個文字框和乙個剪貼簿,開始,文字框裡有乙個內容,剪貼簿為空。每次可以進行三種操作:

將文字框的所有內容複製到剪貼簿;

將剪貼簿的內容貼上到文字框;

刪除文字框的最後乙個內容。

設\(f(x)\)為地到\(x\)個內容,最少需要的操作次數,求

\[\sum_^nf(x)*1920817^(mod\space998244353)

\]\(n<=2000000\)

難點在於求\(f(x)\),我發現這是乙個最短路,於是以文字框和剪貼簿為座標,建出了\(n^2\)個點,邊權都為1,對應乙個操作,只得了40分。其實這題可以利用邊權,建出\(n+50\)個點,每個點\(x\)向\(x-1\)連邊權為一的邊,向\(i*x(i*x<=n+50)\)連邊權為\(i\)的邊,為了優化,可以只在\(i\)為質數且不超過11的時候連邊,當\(i\)為合數時,可被幾次複製貼上湊出來,且答案更優。當\(n\)大於11時可以玄學證明一定不優。建好圖之後跑\(spfa\)找單源最短路就行dijkstra居然更慢。

給定乙個\(n*m\)的矩陣,矩陣有一些位置是障礙(給出座標),不能通過。現在要從\((0,0)\)走到\((n,m)\),只能往上走和往右走,求有多少種走發。兩種走法不一樣當且僅當一種走法的某個障礙在路徑左邊,另一種走法在路徑右邊\((1<=n,m<=10^9)\)。

我開始只寫出了無障礙的5分,正解是離散化後\(dp\),設\(f[i][j]\)為到分第\(i\)行第\(j\)列的方案數,沒遇到障礙就只能往右走,遇到障礙就只能往上走,方案數疊加就行,可以用線段樹加掃瞄線優化。**細節比較多,我暫時還沒實現。

2019暑假杭二day2測試總結

t2t3 給出乙個字串s ss,求出乙個子串行,使原序列的每個字元出現且僅出現一次,且子串行的字典序最小。t1我得了90分,離奇wawa wa了第乙個點,正解比我的演算法要簡便地多,維護乙個棧,對於每個字元,如果已經在棧內就直接跳過 否則,若棧頂字元比它大,且之後出現過,則彈出棧頂,以後在加進來 貪...

2019暑假杭二day1測試總結

t2t3 2019年8月1日,進入杭二集訓,目前集訓模式是上午隊測,下午講評與訂正,再加上李建老師講課,晚上是自主學習。想把每天的測試作個記錄。下面是day1的測試日誌。設函式f n f n f n 為n的次大因子,求 i llf i 1 l r 1 018 sum lf i 1 l r 10 i ...

歡樂SSL暑假培訓Day2

今天08年特長生 比賽過程 t1 乙個簡簡單單n 2n 2 n2冒泡過了.估分 100 t2 又雙叒叕是高精,打完高精加發現stm高精乘單精不會打,awsl.估分 20 t3 一道拓撲排序,沒想到啊,水分判斷是否有環。估分 10 t4 一道dp,考場想到如何轉移,然後然後錯了 打錯了個if 就湊答案...