当前位置: 首页 > news >正文

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)\)

关键字:二维链表,模拟

转载于:https://www.cnblogs.com/LzyRapx/p/7689728.html

相关文章:

  • c#中winform窗口的隐藏与显示
  • luogu P1037 产生数
  • [NOIP2014普及组]子矩阵
  • python中的数据结构
  • 结对编程——四则运算界面化
  • [No000010F]Git8/9-使用GitHub
  • 微信
  • Android连接热点的Socket文件传输
  • JS中的函数知识点
  • 上传第三方jar包至maven私服,以geotools为例
  • Shell记录-Shell命令(find)
  • 上海公积金社保业务办理
  • Ubuntu 16.04下解决sublime text3无法输中文问题
  • week5
  • lua实现table转string
  • eclipse的离线汉化
  • ES6系统学习----从Apollo Client看解构赋值
  • java中具有继承关系的类及其对象初始化顺序
  • leetcode-27. Remove Element
  • overflow: hidden IE7无效
  • python学习笔记 - ThreadLocal
  • React中的“虫洞”——Context
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 工作手记之html2canvas使用概述
  • 简单数学运算程序(不定期更新)
  • 推荐一个React的管理后台框架
  • 微服务核心架构梳理
  • 微信开源mars源码分析1—上层samples分析
  • 小程序测试方案初探
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • ionic异常记录
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #Z2294. 打印树的直径
  • #大学#套接字
  • (TOJ2804)Even? Odd?
  • (初研) Sentence-embedding fine-tune notebook
  • (第二周)效能测试
  • (二)springcloud实战之config配置中心
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (转)jdk与jre的区别
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .Net 路由处理厉害了
  • .Net 中Partitioner static与dynamic的性能对比
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .net网站发布-允许更新此预编译站点
  • @Builder用法
  • @ModelAttribute使用详解
  • [ Linux ] git工具的基本使用(仓库的构建,提交)