2019暑假杭二day2測試總結

2021-09-25 23:21:35 字數 1752 閱讀 2563

t2t3

給出乙個字串s

ss,求出乙個子串行,使原序列的每個字元出現且僅出現一次,且子串行的字典序最小。

t1我得了90分,離奇wawa

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

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

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

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

刪除文字框的最後乙個內容。 設f(x

)f(x)

f(x)

為地到x

xx個內容,最少需要的操作次數,求

∑ i=

1nf(

x)

∗1920817n

−i(m

od

998244353

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

i=1∑n​

f(x)

∗192

0817

n−i(

mod9

9824

4353

)n<

=2000000

n<=2000000

n<=2

0000

00難點在於求f(x

)f(x)

f(x)

,我發現這是乙個最短路,於是以文字框和剪貼簿為座標,建出了n

2n^2

n2個點,邊權都為1,對應乙個操作,只得了40分。其實這題可以利用邊權,建出n+50

n+50

n+50

個點,每個點x

xx向x−1

x-1x−

1連邊權為一的邊,向i∗x

(i∗x

<=n

+50

)i*x(i*x<=n+50)

i∗x(i∗

x<=n

+50)

連邊權為i

ii的邊,為了優化,可以只在i

ii為質數且不超過11的時候連邊,當i

ii為合數時,可被幾次複製貼上湊出來,且答案更優。當n

nn大於11時可以玄學證明一定不優。建好圖之後跑spf

aspfa

spfa

找單源最短路就行dijkstra居然更慢。

給定乙個n∗m

n*mn∗

m的矩陣,矩陣有一些位置是障礙(給出座標),不能通過。現在要從(0,

0)

(0,0)

(0,0

)走到(n,

m)

(n,m)

(n,m

),只能往上走和往右走,求有多少種走發。兩種走法不一樣當且僅當一種走法的某個障礙在路徑左邊,另一種走法在路徑右邊(

1<=n

,m

<=1

09

)(1<=n,m<=10^9)

(1<=n

,m<=1

09)。

我開始只寫出了無障礙的5分,正解是離散化後dpdp

dp,設f [i

][j]

f[i][j]

f[i][j

]為到分第i

ii行第j

jj列的方案數,沒遇到障礙就只能往右走,遇到障礙就只能往上走,方案數疊加就行,可以用線段樹加掃瞄線優化。**細節比較多,我暫時還沒實現。

2019暑假杭二day2測試總結

目錄t2 t3給出乙個字串 s 求出乙個子串行,使原序列的每個字元出現且僅出現一次,且子串行的字典序最小。t1我得了90分,離奇 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 就湊答案...