PYYZ 集訓 AT&&CF 比賽記錄

CheZiHe929發表於2024-08-05

太菜了導致的

ARC181

A - Sort Left and Right

惡臭結論+分討。

  • 當已經是升序陣列時,答案顯然為 \(0\)
  • 當存在一個點 \(i\) 滿足 \(a_i=i\) 且對於所有的 \(j<i\) 都滿足 \(a_j<a_i\),顯然可以以 \(i\) 為劃分點,答案為 \(1\)
  • 對於普遍情況,我們可以讓值 \(1\) 到位置 \(1\)(或值 \(n\) 到位置 \(n\)),然後以 \(1\)\(n\) 為劃分點進行操作,答案為 \(2\)
  • 考慮特殊情況,當 \(a_1=n,a_n=1\) 時,我們需要先隨意選擇一個位置進行排序,使其成為上述第三種情況,答案為 \(3\)

B - Annoying String Problem

首先先特判掉一些比較顯然的可行/不可行的方案。

對於普遍情況,我們求出我們所需要的字串 \(T\) 的長度,並暴力判斷 \(S\) 中是否有長度為 \(T\) 的迴圈節。

詳見 Code

C - Row and Column Order

瞎搞結論題。

\(P_1\) 行內全部放 0,在 \(Q_n\) 列中所有仍為空的地方填上 1,然後遞迴處理剩下的 \((n-1)\times (n-1)\) 的方陣。

CF1993

A. Question Marks

按題意模擬即可。

B. Parity and Sum

不難發現最後一定要使整個陣列變成全為奇數,分別考慮最大的奇數和最大的偶數直接的關係。

  • 當奇數更大時

    對於每個偶數我們都可以用最大的奇數將其更新為奇數,答案為偶數的個數。

  • 當偶數更大時

    我們最終的奇數值為當前的奇數值加上前面所有的偶數值,如果仍小於的話,答案就是偶數數量 \(+1\),否則就是偶數的數量。

C. Light Switches

【被催著睡覺了,咕一下】

相關文章