CF1842

A

比两边和的大小即可。

B

显然如果一个数拥有的所有二进制位的 1 被包含在 x 中,选了一定不会导致不能变成 x;如果有一个 1x 对应的位上是 0,则一定不能选。

因此从三个栈上面看,只要所有 1 对应到 x 上也是 1,就选;否则这个栈再也不能选了。

C

考虑所有删除的区间。任意两个删除的区间显然不可能相交,因为删了一个之后,另一个的左(右)端点就会被一起删掉;而如果两个区间相包含,和只删大的区间效果相同。

因此,问题抽象为:找出若干个不相交区间(两端的颜色相同的球构成一个区间),使得这些区间的长度和最大。

参考:饥饿的奶牛

定义 dpi 为前 i 个球的最少留下几个。dpi=min(dpi1+1,min{dpj|aj+1=ai,j+1<i})

可以边更新边存下来 1i1 的颜色为 clr 的所有位置 v[clr]。求 dpi 的时候可以遍历 v[a[i]] 求。

D

E

在坐标系里给出一条直线 x+y=k,给出 n 个在第一象限且在 x+y=k 严格下方的点,有两种操作:

  1. 选一个等腰直角三角形,斜边在 x+y=k 上,删除三角形内所有点。设这个三角形边长为 l,花费为 Al。(A 是给定的常数)

  2. 选一个点删掉,花费 ci

求把所有点删掉的最小花费。

tj

posted @   FLY_lai  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示