2019各省省選試題選作及簡要題解
有連接的表示詳細題解的坑填了
NOI2019
Day1T2 機器人
Day2T2 鬥主地
Day2T3 I 君的探險
CTS2019
Day1T2 珍珠
Day1T3 無處安放
Day2T1 田野
Day2T2 重複
十二省聯考2019
Day1T3 騙分過樣例
Day2T1 皮配
揹包分別求出不被影響下前i個學校/城市的方案數,作一個前綴和。設dp[i][j]表示有i我的在藍陣營,有j我的在鴨派系的方案數,根據題目所給條件,按照每一個學校的喜愛先更新dp,而後再按城市更新dp,最後枚舉f[i][j]利用前綴和算出結果
JSOI2019R2
Day1T1 精準預測
根據題目所給關係建圖(像2-sat同樣),發現有不少點沒有用,珂以將點數變成2m+2n,剩下就是計算每一個人活着的狀態與其餘多少我的活着的狀態聯通,拓撲排序+bitset優化求出便可,空間開不下,多作幾回便可。
Day1T2 神經網絡
Day1T3 節日慶典
不難想到字典序最小的必定在最小後綴上,一個長度爲n字符串的最小後綴的個數最多logn個,暴力維護備選集合再進行比較
由於不用求任意後綴的lcp,因此咱們珂以用Z算法(擴展kmp)在O(n)的時間內求出原串的每一個後綴與原串的lcp(若是您要用sa-is去作我也不攔着你)
ZJOI2019R1
Day1T2 線段樹
根據不一樣節點的覆蓋狀況推出dp,在線段樹上作dp
Day1T3 Minimax搜索
ZJOI2019R2
Day1T1 開關
HNOI2019
Day1T1 魚
暴力枚舉一個身子和尾巴的鏈接點,將其餘點進行極角排序,按順序枚舉每一個頭,二分查找出身子的種數,用兩隻小手維護尾巴可行的種數,乘起來再累加便可
Day1T2 JOJO
離線到操做樹上處理,每次添加時只須要算新字段的貢獻,發現nxt數組不少都是等差數列,亂搞一發,這個複雜度是假的,咱們珂以發現若是當前字符串存在週期,咱們珂以直接跳到全部週期的第一個,這樣複雜度就對了。
Day2T1 校園旅行
利用二分圖染色將原圖修改使得答案不發生改變,將相同顏色的連同塊染色,隨便取一個生成樹,若是有奇環要加一個自環,這樣邊數少,跑一個相似spfa的算法就好了
Day2T2 白兔之舞
GX/GZOI2019
Day1T3 特技飛行
把答案拆成兩部分看,一部分是特技的分值,易知最大最小分別是對象交換次數最大(全部交點都進行對象交換)的時候和對象交換次數最小(每次的對向交換在最終的排列p上的做用體現即爲交換了某兩個元素的位置。由於咱們只須要用最小的交換次數將p還原成元排列便可)的時候,另外一部分是評委給的分值,咱們看曼哈頓距離不爽,轉成切比雪夫,進行掃描線便可。
Day2T1 逼死強迫症
先推出一個暴力的dp式子,dp[i]=dp[i-1]+dp[i-2]+2fib[i-1]-2,矩陣快速冪優化便可
Day2T3 舊詞
挺傻的一個樹鏈剖分,將操做離線便可,沒想到省選也會出原題
BJOI2019
Day1T2 勘破神機
Day1T3 送別
Day2T1 排兵佈陣
仔細看看發現就是個揹包,暴力轉移便可
Day2T2 光線
簡單的數學型dp。咱們想要將兩面鏡子\((a_1,b_1),(a_2,b_2)\)合二爲一,合出來的鏡子應該是\((\frac{a_1a_2}{1-b_1b_2},b_1+\frac{a_1^2b_2}{1-b_1b_2})\),這個用等比數列求和公式整整就推出來了
SNOI2019
Day1T1 字符串
我用的是sa求lcp,但實際並沒必要要,而後排個序就行
Day1T2 數論
發現有循環,咱們找出環,在環內作前綴和,最後分類討論累加就行
Day1T3 通訊
明顯是最小費用最大流,可是要分治建邊,不然確定超時
Day2T1 紙牌
Day2T2 積木
Day2T3 網絡
TJOI2019
SDOI2019R2
Day1T2 染色
Day2T2 移動金幣
Day2T3 連續子序列
歡迎關注本站公眾號,獲取更多信息