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 就湊答案...