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)的更多相关文章

  1. 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 ...

  2. Codeforces Round #367 (Div. 2) C. Hard problem(DP)

    Hard problem 题目链接: http://codeforces.com/contest/706/problem/C Description Vasiliy is fond of solvin ...

  3. Codeforces Round #367 (Div. 2) B. Interesting drink (模拟)

    Interesting drink 题目链接: http://codeforces.com/contest/706/problem/B Description Vasiliy likes to res ...

  4. Codeforces Round #367 (Div. 2) A. Beru-taxi (水题)

    Beru-taxi 题目链接: http://codeforces.com/contest/706/problem/A Description Vasiliy lives at point (a, b ...

  5. Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset

    题目链接:Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset 题意: 给你一些操作,往一个集合插入和删除一些数,然后?x让你找出与x异或后的最大值 ...

  6. Codeforces Round #367 (Div. 2) C. Hard problem

    题目链接:Codeforces Round #367 (Div. 2) C. Hard problem 题意: 给你一些字符串,字符串可以倒置,如果要倒置,就会消耗vi的能量,问你花最少的能量将这些字 ...

  7. Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset(01字典树求最大异或值)

    http://codeforces.com/contest/706/problem/D 题意:有多种操作,操作1为在字典中加入x这个数,操作2为从字典中删除x这个数,操作3为从字典中找出一个数使得与给 ...

  8. 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 ...

  9. Codeforces Round #367 (Div. 2)

    A题 Beru-taxi 随便搞搞.. #include <cstdio> #include <cmath> using namespace std; int a,b,n; s ...

随机推荐

  1. Django_shell命令操作

  2. tcp_tw_recycle检查tcp_timestamps的内核代码

    注意:本文档中的内核代码的版本号:linux-4.0.5 /************************************************* * Author : Samson * ...

  3. 20160227.CCPP体系具体解释(0037天)

    程序片段(01):01.一对一模式.c+02.中介者模式.c+03.广播模式.c 内容概要:事件 ///01.一对一模式.c #include <stdio.h> #include < ...

  4. 将BT下载对抗到底

    将BT下载对抗到底      随着互联网业务的多元化,各种P2P应用也越来越多,在企业中多数流量都会被类似于BT的下载所占用,BT之所以会危害到局域网,是因为它占用了大量网络带宽.网络管理员可以通过一 ...

  5. OpenCV —— 矩阵和图像操作

    cvAbs , cvAbsDiff , cvAbsDiffS cvAdd , cvAddS , cvAddWeighted(可添加权重) #include <cv.h> #include ...

  6. PS:切图

    1.从psd中获取资源 2.基本了解 3.简单的图片操作和调整 4.对自己的审美提高一.界面设置: 1.新建设置:ctr+n; 预设:Web,大小Web(1920*1080) 背景:透明 2.移动工具 ...

  7. js--基于面向对象的组件开发及案例

    组件的开发:多组对象之间想兄弟关系一样,代码复用的形式. 问题:1).参数不写会报错:利用对象复制————配置参数和默认惨啊书的覆盖关系(逻辑或也可以)2).参数特别多时会出现顺序问题:json解决 ...

  8. [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 ...

  9. OpenGL核心技术之混合技术

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者.国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

  10. vim 窗口分割命令

    如何在一个窗口下面同时打开两个以及以上的文件,有横向跟纵向两种方式 一.如果在终端中开没有打开vim,可以: 横向分割显示: $ vim -o filename1 filename2 纵向分割显示: ...