YCOJ003

Mu_leaf發表於2024-09-04

YCOJ003(育才20240902模擬賽)

有2場沒寫,不想寫了,一場 \(rk1\) 一場掛爽了。

這場不是很難。

T1:

簡要題意:給定 \(n\) 個數的序列 \(a\),欽定 \(i,j(1 \leq i,j\leq n)\) 之間有一條邊權為 \(a_i\times a_j\) 的邊,求最小生成樹。

簡單分討,如果全是負數或正數因為不論怎麼乘都是正數,那麼其他 \(n-1\) 個點連向權值最小的點即可。

否則權值正的連負的,負的連正的即可。

T2:

Robot and String - 洛谷 | 電腦科學教育新生態 (luogu.com.cn)

\(f_{i,j}\) 為字元 \(s_i\) 變成 \(j\) 的最小右端點。

顯然

  • \(f_{i,j}=i,j=s_i\)
  • \(f_{i,j}=f_{f_{i,j-1}+1,j-1},j>s_i\)
  • \(f_{i,j}=f_{f_{i,27}+1,j},j<s_i\)

其中 \(f_{i,27}\) 表示空字串的位置。

此時顯然可以倍增,最後看刪完沒有就行。

T3:

P6303 eJOI2018] AB 串 - 洛谷 | 電腦科學教育新生態 (luogu.com.cn)

差點場切,嗚嗚嗚,細節好多,掛了 29pts。

顯然一段連續的字母可以縮成一個字母。

發現答案和最長的字串的長度有關,考慮讓兩個字串長度相等。

如果開頭兩個不一樣,那麼直接交換,可以發現可以一次性消掉 2 個,如果一樣把長度那一個的前一個換下來即可。

T4:

T507586 打怪(monster) - 洛谷 | 電腦科學教育新生態 (luogu.com.cn)

籤。

顯然花費金幣數為 \(a_i\times 2^{x-1}\) \(x\) 使比 \(a_i\) 小或等於的數的個數。

然後打表發現設當前數出現次數為 \(p\)

則當前賺到的金幣數為 \(2^{n-p}\)