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
鸽了。
Contest 985的更多相关文章
- Codeforce Div-2 985 C. Liebig's Barrels
http://codeforces.com/contest/985/problem/C C. Liebig's Barrels time limit per test 2 seconds memory ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...
- B. Switches and Lamps
链接 [https://codeforces.com/contest/985/problem/B] 题意 给你n,m,分别是n个开关,m个灯 给一个n*m的字符矩阵aij=1,表示i可以控制j这个灯 ...
- A. Chess Placing
链接 [https://codeforces.com/contest/985/problem/A] 题意 给你一个偶数n,输入n/2个数,代表棋子的位置,有一个1*n的棋盘是黑白相间的 问你使得所有棋 ...
- Educational Codeforces Round 44 (Rated for Div. 2)
题目链接:https://codeforces.com/contest/985 ’A.Chess Placing 题意:给了一维的一个棋盘,共有n(n必为偶数)个格子.棋盘上是黑白相间的.现在棋盘上有 ...
- CF练习记录
2018/5/6 Codeforces Round #478 (Div. 2) C http://codeforces.com/contest/975/problem/C Valhalla Siege ...
- 栈 && 教授的测试
卡特兰数:https://blog.csdn.net/wu_tongtong/article/details/78161211 https://www.luogu.org/problemnew/sho ...
- Contest - 多校训练(985专场) Problem C: 985的方格难题
题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1157&pid=2 Description 985走入了一个n * n的方格地图, ...
随机推荐
- webpack 单独打包指定JS文件
背景 最近接到一个需求,因为不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改.因此,需要用webpack单独打包指定文件. CommonsChun ...
- 栈的C++实现
数据结构c++实现系列第一篇. 话不多说,直接上代码. sichstack.h (头文件) 1 #pragma once 2 #include<string> 3 4 namespace ...
- 《Head First 设计模式》:与设计模式相处
正文 一.设计原则 1.封装变化 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起. 2.针对接口编程,不针对实现编程 "针对接口编程"真正的意思是& ...
- 4G DTU采用的4G通信模块介绍
4g通信模块一种基于4G网络进行数据传输的工业级通讯终端,其主要作用是将采集到的传感器数据.仪表数据,传输至服务器/上位机.监控中心.众山研发生产的4g无线通讯设备--4G DTU是一款物联网数据 ...
- 虚拟化下Centos7 扩容根分区
查看分区大小和挂载情况 用到的命令df.lsblk [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/ ...
- python爬虫中的requests模块
Requests: 让 HTTP 服务人类 一.简介 虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests ...
- MySQL连接报错(错误:1130)
1. 原因 显示这个错误是因为没有连接到该机器MySQL数据库的权限,这是在一开始安装MySQL是默认设置的. 在数据库mysql下有一张名为`user`的表,其中的字段user下的root的值默认为 ...
- 关于java中的类加载器
什么是类加载器? 类加载器是专门负责加载类的命令或者说工具 ClassLoader java中的3个类加载器 JDK中自带了3个类加载器 启动类加载器 扩展类加载器 应用类加载器 假设有这样一段代码 ...
- day89:luffy:使用Celery完成我的订单超时取消&Polyv视频加密播放
目录 1.我的订单超时取消 2.PoliV视频播放 1.我的订单超时取消 使用Celery完成超时取消功能 mycelery/order/tasks.py from mycelery.main imp ...
- 微信支付特约商户进件中base64格式图片上传
微信图片上传接口地址:https://api.mch.weixin.qq.com/v3/merchant/media/upload 1.上传方法 1 using HttpHandlerDemo; 2 ...