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_xge 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 航天飞机调度

题面

做法

不会$ imes$2 ......

原文地址:https://www.cnblogs.com/BunnyLutts/p/15033878.html