Codeforces Round #367 (Div. 2) (A,B,C,D,E)
Codeforces Round 367 Div. 2
A. Beru-taxi (1s, 256MB)
题目大意:在平面上 \(n\) 个点 \((x_i,y_i)\) 上有出租车,每辆出租车的行驶速度为 \(v_i\),求所有出租车到点 \((a,b)\) 的时间中的最短时间。
数据范围:\(-100 \leq a,b,x_i,y_i \leq 100\),\(v_i \leq 100\),\(n \leq 1000\)
简要题解:依次求出所有的时间,取最小值即可。
时空复杂度:\(O(n) + O(n)\)
关键字:模拟
B. Interesting drink (2s, 256MB)
题目大意:有 \(n\) 个不同的酒吧,第 \(i\) 个酒吧一瓶酒售 \(x_i\) 元。现在已知接下来的 \(q\) 天,每天会有 \(m_i\) 元用来买酒。求分别每天有多少酒吧可供选择买一瓶酒。
数据范围:\(n,x_i,q, \leq 10^5\),\(m_i \leq 10^9\)
简要题解:先将 \(x_i\) 排序,对于每天的钱 \(m_i\),二分出在数组 \(x_i\) 中有多少个数小于等于 \(m_i\) 即可。
时空复杂度:\(O(nlogn) + O(n)\)
关键字:二分查找
C. Hard problem (1s, 256MB)
题目大意:有 \(n\) 个字符串 \(s_i\),将第 \(i\) 个字符串翻转将会花费 \(c_i\) 的代价。求若仅进行翻转操作,不进行交换操作,而使这 \(n\) 个字符串非降序排列所需要花费的最小代价。若无法满足要求,输出 \(-1\)。
数据范围:\(n,\sum |s_i| \leq 10^5\),\(0 \leq c_i \leq 10^9\)
简要题解:令 \(f_{i,0}\) 表示考虑前 \(i\) 个字符串且第 \(i\) 个字符串不翻转的最小代价,\(f_{i,1}\) 则表示第 \(i\) 个字符串翻转的最小代价。那么,易知其可以由状态 \(f_{i-1,0}\) 和状态 \(f_{i-1,1}\) 转移过来。
时空复杂度:\(O(n) + O(n)\)
关键字:动态规划,dp
D. Vasiliy's Multiset (4s, 256MB)
题目大意:有一个初始仅含 \(0\) 的可重集合 \(A\) 和 \(q\) 个操作,操作有如下几类:
+ x
向集合 \(A\) 中加入元素 \(x\)- x
将集合 \(A\) 中元素 \(x\) 的数量减一,保证操作前至少有一个 \(x\)? x
询问 \(max_{y \in A} (x \oplus y)\),其中 \(\oplus\) 为异或运算
要求对每次询问给出答案。
数据范围:\(q \leq 2 \times 10^5\),\(1 \leq x \leq 10^9\)
简要题解:将集合 \(A\) 中的每个元素 \(x\) 以二进制的形式从高位向低位插入一棵二进制树(类似于字母树,仅含代表 \(0\) 和 \(1\) 的边)。询问时直接贪心地沿着树边走即可。
时空复杂度:\(O(32q) + O(32q)\)
关键字:字母树,贪心
E. Working routine (2.5s, 256MB)
题目大意:给定一个 \(n \times m\) 的矩阵 \(V_{n \times m}\),对该矩阵进行 \(q\) 次操作。每次操作会将矩阵中两个大小形状相同的子矩阵交换位置(即对应元素互换)。保证每次操作对应的两个子矩阵不重叠且不共边,但允许共角。要求输出经过 \(q\) 次操作后的矩阵。
数据范围:\(n,m \leq 1000\),\(q \leq 10000\),\(v_{i,j} \leq 10^9\)
简要题解:将矩阵 \(V_{n \times m}\) 用二维链表的形式存储起来,即每个元素有四个指针分别指向其上下左右的四个元素。那么,每次操作则仅要将子矩阵边界元素的指针修改即可。
时空复杂度:\(O(q(n+m)) + O(nm)\)
关键字:二维链表,模拟
Codeforces Round #367 (Div. 2) (A,B,C,D,E)的更多相关文章
- Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset (0/1-Trie树)
Vasiliy's Multiset 题目链接: http://codeforces.com/contest/706/problem/D Description Author has gone out ...
- Codeforces Round #367 (Div. 2) C. Hard problem(DP)
Hard problem 题目链接: http://codeforces.com/contest/706/problem/C Description Vasiliy is fond of solvin ...
- Codeforces Round #367 (Div. 2) B. Interesting drink (模拟)
Interesting drink 题目链接: http://codeforces.com/contest/706/problem/B Description Vasiliy likes to res ...
- Codeforces Round #367 (Div. 2) A. Beru-taxi (水题)
Beru-taxi 题目链接: http://codeforces.com/contest/706/problem/A Description Vasiliy lives at point (a, b ...
- Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset
题目链接:Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset 题意: 给你一些操作,往一个集合插入和删除一些数,然后?x让你找出与x异或后的最大值 ...
- Codeforces Round #367 (Div. 2) C. Hard problem
题目链接:Codeforces Round #367 (Div. 2) C. Hard problem 题意: 给你一些字符串,字符串可以倒置,如果要倒置,就会消耗vi的能量,问你花最少的能量将这些字 ...
- Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset(01字典树求最大异或值)
http://codeforces.com/contest/706/problem/D 题意:有多种操作,操作1为在字典中加入x这个数,操作2为从字典中删除x这个数,操作3为从字典中找出一个数使得与给 ...
- Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset Trie
题目链接: http://codeforces.com/contest/706/problem/D D. Vasiliy's Multiset time limit per test:4 second ...
- Codeforces Round #367 (Div. 2)
A题 Beru-taxi 随便搞搞.. #include <cstdio> #include <cmath> using namespace std; int a,b,n; s ...
随机推荐
- Django_shell命令操作
- tcp_tw_recycle检查tcp_timestamps的内核代码
注意:本文档中的内核代码的版本号:linux-4.0.5 /************************************************* * Author : Samson * ...
- 20160227.CCPP体系具体解释(0037天)
程序片段(01):01.一对一模式.c+02.中介者模式.c+03.广播模式.c 内容概要:事件 ///01.一对一模式.c #include <stdio.h> #include < ...
- 将BT下载对抗到底
将BT下载对抗到底 随着互联网业务的多元化,各种P2P应用也越来越多,在企业中多数流量都会被类似于BT的下载所占用,BT之所以会危害到局域网,是因为它占用了大量网络带宽.网络管理员可以通过一 ...
- OpenCV —— 矩阵和图像操作
cvAbs , cvAbsDiff , cvAbsDiffS cvAdd , cvAddS , cvAddWeighted(可添加权重) #include <cv.h> #include ...
- PS:切图
1.从psd中获取资源 2.基本了解 3.简单的图片操作和调整 4.对自己的审美提高一.界面设置: 1.新建设置:ctr+n; 预设:Web,大小Web(1920*1080) 背景:透明 2.移动工具 ...
- js--基于面向对象的组件开发及案例
组件的开发:多组对象之间想兄弟关系一样,代码复用的形式. 问题:1).参数不写会报错:利用对象复制————配置参数和默认惨啊书的覆盖关系(逻辑或也可以)2).参数特别多时会出现顺序问题:json解决 ...
- [PWA] Deal with caches in PWA
The takeway is to know when we should cache the content? When we should clean the caches? 1. When sh ...
- OpenGL核心技术之混合技术
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者.国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...
- vim 窗口分割命令
如何在一个窗口下面同时打开两个以及以上的文件,有横向跟纵向两种方式 一.如果在终端中开没有打开vim,可以: 横向分割显示: $ vim -o filename1 filename2 纵向分割显示: ...