[USACO24JAN] Cowmpetency S 题解
vegetable_king · · 题解
可能更好的阅读体验
一个不需要任何数据结构,代码好写,而且时间复杂度严格
下文中令
考虑一对限制
于是我们可以
考虑构造。首先我们考虑
如果当前的
- 如果
b_i = 1 且a_i \le \max_{j = 1}^{i - 1} a_j 则一定无解,因为我们在最小化字典序的同时最小化了前缀\max 。 - 如果
b_i = -1 且a_i > \max_{j = 1}^{i - 1} ,则我们考虑往前找到一个最大的p 使得a_p 未确定且b_i \ne -1 ,令a_p = a_i 来满足a_i 的限制。如果找不到这样的p 那么显然无解;调整后a_p 可能会与[p + 1, i - 1] 中的一些位置的限制冲突,此时也一定无解。因为冲突的位置o 一定满足a_o 确定了,且b_o = 1 ,而这样的位置相当于给前缀\max 设置了上界。
于是我们可以做到