牛客CSP S提高組賽前集訓營5(待更)

2021-09-29 10:46:00 字數 566 閱讀 3804

題目描述

神樹大人造了乙個長為n的01序列,並邀請無所事事的神j來和他博弈。

每一輪裡,若這個序列的第1項是0,那麼神樹大人可以選擇讓它不變或者變成1;若這個序列的第1項是1,那麼神j可以選擇讓它不變或者變成0。接著對這個序列進行旋轉操作:即將第1項放到第n項的後面,其他項依次替補。如果這個序列變為全0,那麼神j勝利;如果存在一種方法讓神j永遠不能勝利,那麼神樹大人勝利。

乙個可能的遊戲如下:

初始狀態 01

第一項是0,神樹大人讓他變成1。序列變為:11

第一項是1,神j讓他變成0。序列變為:10

第一項是1,神j讓他變成0。序列變為:00

神j勝利

現在,你作為神j的信徒,打算計算有多少種長為n的01序列使得神j勝利。

輸入描述: 第一行輸入乙個n。

輸出描述: 輸出答案對998244353取模。

示例1輸入1輸出

2示例2輸入2

輸出4備註:對於30%的資料,n\leq 5n≤5

對於60%的資料,n\leq 20n≤20

對於100%的資料,n\leq 10^5n≤10 5

牛客CSP S提高組賽前集訓營2

然後隨便用乙個資料結構維護一下就行了,我寫的線段樹。我們先找出每個環,然後我們先刪連線環的邊,每刪一條就可以多產生乙個聯通塊,在考慮刪環邊,發現從最大的環刪起一定最優 因為你刪的第一條邊得不到任何新的聯通塊 就很容易想到tar jantarjan tarjan 發現你只能寫出80 8080 分,因為...

牛客CSP S提高組賽前集訓營1

比賽鏈結 官方題解 before t1觀察 結論題,t2樹形dp,可以換根或up down,t3正解妙,轉化為圖上問題。題目質量不錯,但資料太水了 一共n個石子堆,每個石子堆有ai個石子,兩人輪流對石子塗色 先手塗紅,後手塗藍 且需要保證當前回合塗的石子顏色不能和它相鄰的兩個同色,誰塗不下去誰輸。一...

牛客CSP S提高組賽前集訓營5 解題報告

linker 總分 100 100 40 240 結論題。無論如何神j都會贏。最優決策 神樹變化了我就不變,神樹不變我就變化。includeusing namespace std typedef long long ll const int mod 998244353 inline ll pow l...