11.9 上下爽一爽

Fun_Strawberry發表於2024-11-10

11.9 Refact.ai Match 1 (Codeforces Round 985)

Solve : A~F (6/9)

Rank : 94

Rating : \(2212+136=2348\)

Perf : 2756(原來演算法)2723(準確值)

發揮評價:Good+

感謝廣義 Chinese Round()愉快上分。

這場 C 和 E 各一發罰時,E 吃完之後迅速發現自己的做法問題。

F 想清楚了再開始寫,沒有產生罰時。如果能更快一點就更好了。

CF2029D

給你一個無向圖,其中有 \(n\) 個頂點和 \(m\) 條邊。

您可以執行以下操作:

  • 選擇三個不同的頂點 \(a\)\(b\)\(c\),然後對每條邊 \((a,b)\)\((b,c)\)\((c,a)\) 執行以下操作:
    • 如果該邊不存在,則新增該邊。相反,如果存在,則刪除它。

當且僅當該圖沒有邊,或該圖是一棵樹時,一個圖才被稱為酷圖:

最多進行 \(2\cdot \max(n,m)\) 次操作把圖變成酷圖,可以證明有解。

Solution:考慮把所有不連 \(1\) 的邊透過第三個選 \(1\) 清除掉,最後必然剩下一個菊花和一些孤點。

考慮如果菊花為空,直接結束,否則用菊花的一條邊把剩下的孤點連起來。

CF2029E

對於兩個整數 \(x\)\(y\)\(x,y\ge 2\)),當且僅當 \(x\) 可以透過下面的操作變換為 \(y\) 時,我們才說 \(x\)\(y\) 的生成器:

  • 選擇 \(x\) 的因數 \(d\)\(d\ge 2\)),然後將 \(x\) 增加 \(d\)

現在,凱文給出了一個陣列 \(a\),它由 \(n\) 個互不相同 \(\ge 2\) 的整陣列成。

你必須找到一個整數 \(x\ge 2\),使得 \(x\) 是序列所有數的生成器,或報告無解。

首先發現 \(2\) 可以產生所有偶數(進一步的,所有合數)

而任何奇數會一步變回偶數,猜測只需要選 \(2\),故不能有質數。

顯然,不會這麼簡單。

有某個樣例,我們知道可以有一個質數(兩個以上絕對不行),只當這個質數可以生成所有數列中的數。

現在就剩判斷這個質數能不能生成了,直接 bfs 顯然超時。

考慮如果是偶數,\(\ge2p\) 即可,如果是奇數,最後一步一定是偶數生成的,這個偶數最大為它減去最小質因子,於是預處理後暴力判斷即可。

CF2029F

給定一個環,邊有紅藍雙色,詢問是否任意兩點間都存在一條顏色迴文路徑(可以不簡單)

先特判某一種顏色出現次數大於等於 \(n-1\) 的為 Yes。

這種題目,顯然考慮手玩樣例來找找規律。

發現樣例裡所有奇數都有解,大膽猜測由於奇數對路徑奇偶性沒有限制,可能全部有解,於是嘗試手玩一些證明這個結論。

但是被 RRRBB 卡掉了,\((1,4)\)(從零標號)沒有。

為啥沒有?因為路徑第一步必然是 R 最後一步必然是 B,包沒有的。

這個很有啟發性:環中不能同時存在 RRBB,這個結論感覺方向很對,現在變成單個 R 和連續 B 段交替了。(考慮兩種顏色反轉不影響答案)

發現由於路徑可以不簡單,B 連續段只和奇偶性有關,可以等價為長 \(1\) 或者 \(2\)

發現當 B 連續段長偶數時候,從兩側出的 B 段奇偶性相同。

於是出現兩個偶數 B 段就墜機了。

同時由於 ABABAB 也無解,發現沒有偶數段也墜機了,具體可以兩邊一起走,發現有時它們總得向同一方向走,無法匯合。

合理猜測,單個偶數段一定有解因為無解情況太多了

確實如此,證明也考慮兩個一起走,把一個調到偶數段旁邊之後,一個跳過偶數段,另一個走個來回,然後就發現它們能匯合了。

相關文章