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 ......

posted @ 2021-07-20 11:05  鼠曲雪兔子  阅读(150)  评论(0编辑  收藏  举报