1. 程式人生 > 其它 >UOJ NOI Round #5 總結

UOJ NOI Round #5 總結

UOJ NOI Round #5 總結

不知道是比賽時間的問題還是什麼其他的,
總之非常菜

以下皆為口胡,若有錯漏請不吝賜教

Day1 A 提問系統

題面

做法

答案變化之後只用維護\(k_i = \sum p_b^i, \quad i \in [0, 3]\)

考慮\(DP\),如果將棧視作樹形結構的話自下而上是\(O(k^3)\),自上而下就是\(O(k^2)\)

Day1 B 答案查重

題面

做法

不會……

Day1 C 排名預測

題面

做法

尋找性質:假設以\(x\)為根的子樹最大dfn為\(low_x\),有解當且僅當\(\forall x, low_x\ge a_x\)

\(f_i\)

表示\(i\)點最小可行dfn即可。

Day2 A 獲獎名單

題面

做法

左右兩邊匹配有兩種情況:

  1. 一個名字對應一個名字。
  2. 單字+多個雙字對應多個雙字+單字

先考慮第二種,發現相當於單字代表\(S\)\(name_i\)連無向邊,雙字代表\(name_{i, 1}\)\(name_{i, 2}\)連邊的包含\(S\)的聯通塊的歐拉回路/通路(取決於\(L\)的奇偶性)

剩下的聯通塊要求同一條邊使用偶數次即可。

細節有億點多。

Day2 B 詭異操作

題面

做法

考慮用線段樹維護。
線段樹上維護區間最大值、區間或、區間和。
修改時不合法就不再向下了。
時間複雜度應當是\(O(n \log n \log v + q \log n)\)


然而並過不去

據說線段樹底層來點分塊就好了

Day2 C 太空梭排程

題面

做法

不會$\times$2 ......