A

比两边和的大小即可。

B

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

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

C

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

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

参考:饥饿的奶牛

定义 \(dp_i\) 为前 \(i\) 个球的最少留下几个。\(dp_i=min(dp_{i-1} + 1,min\{dp_j|a_{j+1}=a_i,j+1<i\})\)。

可以边更新边存下来 \(1\sim i-1\) 的颜色为 \(clr\) 的所有位置 \(v[clr]\)。求 \(dp_i\) 的时候可以遍历 \(v[a[i]]\) 求。

D

E

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

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

  2. 选一个点删掉,花费 \(c_i\)。

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

tj

随机推荐

  1. java中native源码查找方法

    以Object的hashCode()方法为例: 1. 下载openjdk源码或从github中查找,这里以github中查找为例:2. GitHub中查找https://github.com/bpup ...

  2. CSS : 使用 z-index 的前提

    使用 z-index 前  , 需要将元素 定位设置为  position : relative .

  3. Linux-磁盘-di-目录查询-du-tree

  4. 【面试题精讲】JVM中有哪些垃圾收集器

    有时博客内容会有变动,首发博客是最新的,其他博客地址可能未同步,请认准https://blog.zysicyj.top 首发博客地址 系列文章地址 在Java虚拟机(JVM)中,有以下几种常见的垃圾收 ...

  5. MySQL shell 备份数据库

    MySQL shell 备份数据库 背景 之前使用 mysqldump 和 mysql source 的方式备份数据库非常缓慢 有时候要耗费非常长的时间 今天发现有一个可以快速备份数据库的 mysql ...

  6. [转帖](1.2)sql server for linux 开启代理服务(SQL AGENT),使用T-SQL新建作业

    https://www.cnblogs.com/gered/p/12518090.html 回到顶部 [1]启用SQL Server代理 sudo /opt/mssql/bin/mssql-conf ...

  7. [转帖]Oracle数据库中ITL详解

    首先说明这篇文章是转载的,原文地址:http://blog.sina.com.cn/s/blog_616b428f0100lwvq.html 1.什么是ITL ITL(Interested Trans ...

  8. [转帖]shell 把以空格分隔的变量 分割后的每个字段赋值给变量

    比如我有一个变量 "123 456 789",要求以空格为分隔符把这个变量分隔,并把分隔后的字段分别赋值给变量,即a=123:b=456:c=789 共有3中方法: 法一:先定义一 ...

  9. [转帖]前后台切换命令(ctrl+z jobs bg fg &)

    当我在终端里面运行某个命令的时候,结果不是很快就能出来的那种,或者是一大堆字在屏幕上狂翻.这个时候,有时ctrl+c也不起作用,那我会用ctrl+z退出来,这个很有效,但是说实话我不知道为什么这个可以 ...

  10. [转帖]JAVA⽣态的微服务⽆侵⼊链路追踪

    https://v5.6-docs.rainbond.com/docs/v5.3/advanced-scenarios/devops/pinpoint/#pinpoint%E7%AE%80%E4%BB ...