[CF] 1040 Div 2 部分题解

博客又是好久没更了。。。
挖坑不填。。。
又挖了个新坑。。。
A. Submission is All You Need
给定非负整数可重集 ,重复任意次操作:选取子集 ,将 或 添加到分数,删去 。求最大分数。
只有当 时, 比 更优。
故
B. Pathless
给定数组 ( 中包含至少一个 ,一个 和一个 ) 和整数 ,是否可以通过重排 使得不存在一条从 到 的路径(每一步均可以向左或向右移动一个单位,但起点终点确定),若可以,输出任意满足条件的 ,不满足输出 。
分类讨论:
-
:
-
:
-
:
-
:
-
:
-
至少有一个 与 相邻:显然可以;
-
只与 相邻:则至少有一个 与 相邻,可以在 的基础上加上任意个 和 构成 。
-
-
C. Double Perspective
题面太长了不写了。。
一定为
Sol 1
用并查集维护,每次选不会构成环的加进答案。
Sol 2
被其他线段完全包起来的线段不选。
D. Stay or Mirror
给定一个排列 ,创建一个数组 ,求最小的相邻元素交换次数使 由大到小有序。复杂度要求:。
对于 :
-
Stay:贡献为 ;
-
Mirror:贡献为 ;
删去 ,重复此过程可得对于第 个元素:
-
;
-
;
E1. Interactive RBS (Easy Version)
是 中非空正则括号字串个数,通过 找到长为 括号序列 ,。
首先寻找 使得 (
, )
:
-
:
二分查找使得 的最小的右端点,则有
(
,)
; -
:
由题意
(
,)
;
构造 ,可根据 的结果知道 和 的值。