CDQ WQS Rush

以下为 WQS。

P2619 - [国家集训队]Tree I

https://www.luogu.com.cn/problem/P2619

  • 注意,是 \(\ge K\) 的时候进行答案的更新,因为我是在「黑与白」的边权相同时候,优先选择白。所以如果 \(\ge K\) 了,就代表我可以把一些白换成黑。
  • 注意,答案总是为减去 \(K\times M\)
  • 一般来说,实数二分都是可以的。但是整数二分会好写(不知道为什么我写实数,总是地,出错)判断可以整数二分的方法:如果让 \(K\) 增加一,则只会增加一个整数(比如在本题中,我增加一个 \(K\),增加一条白边,那么 tot 就会增加白的边权,显然是整数的)

P3620 - [APIO/CTSC 2007] 数据备份

https://www.luogu.com.cn/problem/P3620

普通 dp:设 \(f_{i,j,0/1}\)\(i\) 号点选了 \(j\) 个线,当前这个点有没有连线,的方案数。注意到只会相邻的两个点连线,所以容易转移。

优化 dp:设 \(f_{i,0/1}\) 为上面的 dp,\(g_{i,0/1}\)\(f_{i,0/1}\) 取得的方案数。然后取 min 就是,如果 \(f_{i-1,1}<f_{i-1,1}\) 那么铁定 1,但是如果相等就比较 \(g\),谁大谁为 min。、

为什么是 \(g\) 大者胜?

因为我们只在 \(g\ge K\) 的时候统计答案,所以能选一定要选。

然后就是 Wqs 裸奔了。


以下为 CDQ。

P4390 - [BOI2007]Mokia 摩基亚

https://www.luogu.com.cn/problem/P4390

复习 CDQ。

posted @ 2022-04-03 16:14  BlankAo  阅读(25)  评论(0编辑  收藏  举报