Akane Weekly #9 NOIP 十连测 (8)

Akane Weekly #9

A.测测你的签到水平

每次相当于区间经过次数加一,差分维护,贪心地取最大值即可。

B.测测你的计数水平

先枚举第一个需要的三种方案,然后对剩下的区间做 DP,枚举每一条线的方案,最多只有两种可能。

DP1 维护最多可以选多少条线,DP2 表示此时的方案数,对于每一条线枚举选不选即可。

时间复杂度 \(O(n)\)

C.测测你的优化水平

测的是优化水平,但难想的是状态。

考虑一个性质,把所有点按照 \(x\) 排序,假设前面的依靠 \(x\) 选的 \(y\) 坐标最大值为 \(j\) ,那么如果当前点 \(y\) 坐标小于 \(j\) ,则当前点只能按照 \(x\) 选择了,因为如果按照 \(y\) 选,前面有更大的 \(y\) 还没有选,如果先选那个 \(x\) ,因为当前点 \(x\) 更大,也选不了。

因此题目限制变成了一个逆序对的限制,我们令 \(dp_{i,j}\) 表示选到第 \(i\) 个,前面的按照 \(x\) 选的的 \(y\) 坐标坐标小于 \(j\) 的方案数,枚举转移即可,时间复杂度 \(O(n^2)\) ,50 分。

优化非常显然,对于 \(j>y_i\) 只能用选 \(x\) 一种转移,相当于 \(dp_{i,j}\leftarrow dp_{i-1,j}+x_i\) ,即区间加。

对于 \(j<y_i\) 则只能用 \(y\) 一种转移,相当于 \(dp_{i,j}\leftarrow dp_{i-1,j}+y_i\) ,也是区间加。

对于 \(j=y_i\) 则两种转移都可以。

第一种是按照 \(y\) 转移,和 \(j<y_i\) 一类一样。

第二种是按照 \(x\) 转移,此时,我们要从所有 \(p\in[1,y_i] \min{dp_{i,p}} +x_i\) 转移过来,因为前面的只需要小于 \(y_i\) 都满足,即区间 \(\min\) ,单点覆盖。

查询答案是一个区间 \(\min\)

我们使用线段树维护如上过程,时间复杂度 \(O(n \log n)\)

D.测测你的网络流水平

  • 50 pts

枚举源点和汇点,暴力。

  • 70 pts

相当于多源点最小割问题,用最小割树,分治来做。

洛谷模板:P4897 【模板】最小割树(Gomory-Hu Tree) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

  • 100pts

还不会qwq

posted @ 2023-10-31 15:20  ArizonaYYDS  阅读(18)  评论(0)    收藏  举报