渐渐被你吸引 好听。
P10764
上午花了大约 1.5h 完全理解并实现。出门左转看解析。计数。容斥。
AT_arc074_c
同样是补的模拟赛题。dp 优化。
P11233
现在终于来补正解了。
操作只有全局加,单点改和单点查,全局 max,好像可以线性做。但是我还是打了一个线段树。0.6s 稳过的。
中途暴力都调了很久,真的太蠢了。
还是不会某些题解的线性 dp 做法。
P10766
算是积累 trick 了吧。
刚开始写了个简单的错误 dp,原因是区间内只有一种操作,可能存在 2 种都有的。并且一个点可以被两种操作包含。但是每种操作一定至多 1 次,好证。(2 次覆盖可以被一个覆盖一个反转代替)
然后发现取反和覆盖没有什么太明显的先后关系,所以你可以随便钦定一个先后关系,来得出这个位置的状态。
所以 dp 就设 i 位置是否被翻转,是否被覆盖成 0/1。然后线性转移即可,常数是 36。(还有一个必须要的性质是同种类型的操作一定可以不交)
AT_arc159_d
只是实现了一次,之前说过。
naive
并不想写代码。
30 分的 dp 是好写的,但是一眼不可优化。
所以交换维数,\(dp(i,j)\) 表示 \(i\) 个人操作 \(j\) 次可以确定的最大楼数。询问二分即可。
转移:\(dp(i,j)=dp(i,j-1)+dp(i-1,j-1)+1\)
打表 & 观察 dp 转移发现是一个组合数求和。证明不会。
标签:覆盖,小计,11.3,线性,操作,dp From: https://www.cnblogs.com/LCat90/p/18524198