Loading

23.7 杂题

  • greedy

*CF573E

和一道 sd 省集题很像啊,但是我没有想起来。

直接贪心往序列里面加点,每次选可以更新的最大权值。权值为 \(k*a+suf\),其中 \(k\) 是第几个数,\(suf\) 是后面选的数的和。感觉想不到这个主要是不会证明。

然后动态维护这个东西,发现是维护一个凸壳。使用分块+重构来维护。复杂度 \(O(n\sqrt{n})\)

还有一种找性质优化 dp 的做法,但是估计我也看不出那种性质,懒得管了。

*CF526G

CF1827E

这个是一样的吧

看起来我们只关心叶子。找到每个叶子能到的最浅的祖先,如果有两个叶子这玩意不是祖先关系,就无解了。于是找到一个最深的这玩意,剩下每个叶子的路径都需要经过这个点至少一次,判断一下即可。

*CF626G

*CF538H

不会推导,稍微理解一下。

如果存在三个老师区间两两无交就寄了。

假设最后老师分成两组的区间的交分别是 \([l_1,r_1],[l_2,r_2]\)。需要满足 \([l_1+l_2,r_1+r_2]\)\([t,T]\) 有交。

\(rm=\min r_i,lm=\max l_i\)。如果 \(r_m>l_m\),也就是说所有老师有交,那就不用考虑老师了。

否则还是需要调整,只能 \(r_m\) 变大,\(l_m\) 变小。调整完之后有些老师确定了,如果一个老师确定可以推出另一个老师那也确定了。最后跑一遍染色即可。

CF708E

[*CF1495E](Qingshan and Daniel - 洛谷 | 计算机科学教育新生态 (luogu.com.cn))

一定有一个阵营最后牌出完了,记作 \(A\),另一个记作 \(B\)。不妨设起点在 \(A\)。直接模拟的话复杂度怎么看都要带 \(\log\)。做一个类似括号匹配的东西,从起点开始暴力迭代常数圈直到第一种没掉了。

  • dp, tree

  • combinatorics

  • games

posted @ 2023-07-03 08:16  Semsue  阅读(30)  评论(0编辑  收藏  举报
Title