CF1763

Cxny

vp。

Div. 2.5。这场真是太蠢了。

B. Incinerate

先排序,存活的怪兽一定是一个后缀。预处理一下每次

然后发现直接暴力打的复杂度是 。然后就做完了。

C. Another Array Problem

发现对同一段区间做两次操作可以把它全部变成

于是对于 的情况可以把所有值变成最大值。

的情况特判一下就好了。

D. Valid Bitonic Permutations

既然有 解法,那为什么要放 ???

不妨设 。若不然,我们可以翻转整个序列,得到的方案数不变。

先考虑 的情况。

尝试枚举峰顶 的位置。显然 不能在 内。注意必须有上升和下降段, 不能取

无论 在何处, 所有数都在 内,方案数为

  • 的数必须放在 ,这将会占去 个空位。剩余空位用来放 的数。贡献为
  • 必须放 的数。 必须放 的数。贡献为

于是答案为

的情况相当于钦定了峰顶的位置,答案为

E. Node Pairs

这么蠢的题是怎么放到 的???

考虑对于一张图缩点双。显然两两可达的点只在点双内部。

设点双大小分别为 ,则第一问转化为 ,最小化

把大小为 的点双看作价值为 、重量为 的物品。有效物品只有根号级别,直接多重背包。

至于第二问?用脚指头都能想出来。把缩完的点双连成 ,除了必须双联通的点对,剩下的都可以单连通。

F. Edge Queries

没看明白限制条件有什么用。

路径上的非割边?建圆方树,方点点权为点双内边数(割边为 ),圆点点权为 。等价于静态查询路径权值和。

  • Post title:CF1763
  • Post author:Cxny
  • Create time:2022-12-20 22:20:25
  • Post link:https://cxny.github.io/2022/12/20/CF1763/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.