CR 773

(Div.1)
C没写完呜呜呜只上了4分呜呜呜

呜呜呜考完才发现前三题都是 SB 题,D 也很容易想呜呜呜

A

排序后贪心取。

B

每次到一个未处理的数时,找到后面第一个相同位,此时已确定序列长什么样子,优先按左边凑,修改右边。

C

并查集,对每个点指向 从自身到末尾 第一个可能为 0 的点,
同时维护标记表示在最近那个点前必有 1 。

D

容斥。
\(w_i\) 排序后,两个在 \(1\)\(n\) 的指针只会靠近而不会远离,对 \(2^m\)\(a_i\)的子集 哈希,容斥算区间内有多少点与指针 \(left\) 有交,即可知道 \(j\) 能否向左移动。

posted @ 2022-02-23 22:23  Kelvin2005  阅读(56)  评论(0)    收藏  举报