Contest 985
A
均移到黑色或白色即可。
时间复杂度 \(O\left(n\log n\right)\)。
B
枚举每种开关判断是否有灯只能靠该种开关控制。
时间复杂度 \(O\left(nm\right)\)。
C
最短的木板必然作为某一个木桶的容积,所以我们可以根据 \(l\) 找出可能作为容积的最长的木板。
若可能作为容积的木板总数不足木桶总数就无解。
然后优先将长的作为容积的木板和不可能作为容积的木板配掉,这个比较显然。
最后如果不可能作为容积的木板不足了就继续贪心配一下,每次在剩下的所有木板中取最长或最短的 \(k\) 个,这个更显然了。
时间复杂度 \(O\left(nk\right)\)。
D
首先发现起始高度尽可能大一定是对的,反正可以放相同的高度进行调整。
举个栗子,绿色代表原有的堆,红色代表新增的堆:
\(\color{green}{\texttt{1 2 3 4 3 2 1}}\\\color{green}{\texttt{2 3 4 3 2 1}}\color{red}{\texttt{ 1}}\\\color{green}{\texttt{3 4 3}}\color{red}{\texttt{ 3 }}\color{green}{\texttt{2 1}}\\\color{green}{\texttt{4 3 3}}\color{red}{\texttt{ 3}}\color{green}{\texttt{ 2 1}}\\\color{red}{\texttt{5 }}\color{green}{\texttt{4 3 2 1}}\color{red}{\texttt{ 1}}\)
先判掉最大高度(这里也是起始高度)\(top\) 小于 \(h\) 的情况,此时必定为一个不升序列,且必定为一个下降序列插入至多一堆。
接下来的情况起始高度必定为 \(h\),此时先是一个不降序列,然后是一个不升序列。同样地,最大高度 \(top\) 越大越好。
可以先把不升序列中 \(1\sim h-1\) 这一段的贡献减掉,即 \(n\gets n-\frac{h\left(h-1\right)}{2}\)。
\]
\]
\]
\]
接下来要处理多出来的沙袋。注意,最坏情况可能要插入最多两堆,举个栗子:
x x+1 x
x x+1 x+1 x
x x+1 x+1 x+1 x
三堆及以上最大高度可以达到 \(x+2\),具体可以手玩一下。
时间复杂度 \(O\left(1\right)\)。
E
简单 dp。
令 \(f_i\) 表示前 \(i\) 个数是否有满足条件的分组方案,转移的时候枚举当前组的开头即可,但直接这么做是 \(O\left(n^2\right)\) 的。
发现合法的第一个转移点单调不降,而我们又只关心是否,所以可以用一个普通队列来维护,时间复杂度 \(O\left(n\right)\)。
F
对于每个字母,如果前一个区间中它的哈希值和后一个区间中某个字母的哈希值一样,则这两个区间是匹配的。
至于区间 \(l\sim r\) 的哈希值,它等于 \(r\) 的哈希值减去 \(l-1\) 的哈希值与基数的 \(r-l+1\) 次幂的积,就和你某个进制的数取后面一段是一样的。
时间复杂度 \(O\left(n+m\right)\)。
G
鸽了。
最新文章
- MongoDB 安装和可视化工具
- POJ1185 炮兵阵地
- JEE学习线路
- ruby quiz The Solitaire Cipher
- Binary Search Tree BST Template
- 设计模式:Prototype 原型模式 - 同学你抄过别人的作业么?-clone()方法的使用
- hdu_5904_LCIS(DP)
- cortexm内核 栈的8字节对齐及关键字PRESERVE8
- netty的好处
- MyBatis3系列__04CRUD以及参数处理
- Vue-tab选项卡
- [Aaronyang] 写给自己的WPF4.5 笔记17[Page实现页面导航]
- 正确理解springboot的常用注入方式
- 关于windows中80端口被占用
- python读取配置文件&;&;简单封装
- 读书笔记 Bioinformatics Algorithms Chapter5
- SQL Server T—SQL 基本编程
- 【python】python常用函数
- 如何使用LaTeX让自己不乱?
- sublime text执行PHP代码
热门文章
- redis简介以及redis集群配置
- 走在深夜的小码农 Seventh Day
- Luogu P4105 [HEOI2014]南园满地堆轻絮
- (2)ASP.NET Core3.1 Ocelot路由
- Linux系统下安装配置JDK(rpm方式及tar.gz方式)
- spark推测机制及参数设置
- nginx&;http 第二章 ngx 事件event初始化 ngx_event_process_init
- 主动关闭 tcp_timewait_state_process 处理
- c++实现split
- git , repo out off memory