10.3 - AM - 模擬賽 總結

_zqh發表於2024-10-03

覆盤

T1 很水,一道異或求和,但是某兩位仁兄因沒打括號而死。

T2 很水,一道字串處理,但是我和某位仁兄因沒特判而死(雖然沒有 hack 掉我,所以我理論上還是滿分)。

T3 不水,看了很久,沒想出來,自閉了就去看了 T4。

發現也做不出來。

此時我出去晃了一圈,大概是不知道從哪裡看到了一個“二”字,頓悟。

跑回教室打了一個二分套 dp,過了大樣例就磕 T4。

時間剩的不多了,就打了一個 \(n^2\)\(40\) 分暴力就交了。

  • 預估:\(100 + 100 + 100 + 40 = 340\),非常爽!
  • 實際:\(100 + 100 + 90 + 40 = 330\),還是非常爽!

優點

  • 只掛了 \(10\) 分。
  • T2 被 hack 了但是沒掛分。

缺點

  • 居然掛了 \(10\) 分?!
  • T2 居然被 hack 了?!

題解

T1 異或

題意

一個長為 \(n\) 的數列,將其中一個數異或 \(k\),求更改後的最大和。

題解

按題意模擬即可。

不過位運算要打括號哦~

T2 數字轉換

題意

對於一個數 \(n\),可以將每一位增加 \(1\) (無限次)或任意一位加 \(1\) (一次)

題解

模擬

T3 最優除法

題意

將一個數除以 \(i\) 的代價為 \(a_i\),求 \(x\) 變到小於 \(y\) 的最小代價。

題解

(思路來自 banned_xiejiayun,加上我的一些改編,侵刪)

假設:

\[b_8 = 10^9 \]

\[b_4 = 10 \]

但是我們想要由 \(32\)\(4\),此時不能直接除以 \(8\),可以除以兩個 \(4\),用 \(20\) 來代替 \(10^9\) 的高昂代價。