8.5

8.5

1. AGC040E

因为操作有 2 个,自然想到把 \(a\) 拆成 2 个相加的形式。

然后有 1 个显然的 2 维 dp。

挖掘性质,发现一个 \(i\) 最多有 \(3\) 个 dp 值,原因是 dp 只可能 0/+1/+2。

又有单调性,维护一下分界点。

2. 冒泡排序

等价于要求每个数方向不能变。

推出不能有 \(i<j<k,a_i>a_j>a_k\)

最多有长度为 \(2\) 的下降子序列。

虽然我不知道怎么 dilworth 的,但是感觉就是可以划分成 2 个上升子序列。

然后 dp,用 catlan 的推法搞出组合式。

3. CF1416D

倒着加边,维护每次查询在重构树上的祖先节点。

然后 ds 即可。

4. CF1973D

首先观察 \(m\) 的一些约束,可知 \(m\) 一定是 \(\max a_i\) 的倍数。

可以通过 \(n\) 次询问知道 \(\max a_i\)

然后枚举 \(m\)。推出 \(m=t*\max a_i\)

\(m*k \le f(1,n)=n*\max a_i\)

所以 \(t*k\le n,t\le n/k\)

枚举 \(t\),每次贪心选取。

5. sbyyn

垃圾题,浪费我 1 个小时。滚滚滚!

posted @ 2024-08-06 09:28  LCat90  阅读(18)  评论(0编辑  收藏  举报