Codeforces Round #488 by NEAR (Div. 2)
A
开个桶记录是否出现即可。
时间复杂度 \(O\left(n+m\right)\)。
B
按能力值从小到大依次加入,然后维护前 \(k\) 大的金币数即可。
时间复杂度 \(O\left(n\log n\right)\)。
C
发现如果两个正方形有交,那么必定有一个整点被两个正方形同时包含。
然后暴力枚举正方形内的每个整点即可。
时间复杂度 \(O\left(S\right)\)。
D
如果有且仅有一个数在两人那里都出现了,就输出这个数。
如果有任意一对数中的两个数在两人那里都出现了,即存在至少一个人不知道相同的数,就输出 -1。
如:
1 2
1 2
1 3 2 4
第一个人是 \(1,2\),第二个人是 \(1,3\)。
第一个人不知道相同的是 \(1\) 还是 \(2\),但第二个人却知道是 \(1\)。
2 2
1 2 3 5
1 3 2 4
第一个人是 \(1,2\),第二个人是 \(1,3\)。
第一个人不知道相同的是 \(1\) 还是 \(2\),第二个人也不知道相同的是 \(1\) 还是 \(3\)。
剩下的情况输出 0。
如:
2 1
1 2 4 5
1 3 4 6
第一个人是 \(1,2\),第二个人是 \(1,3\)。
你并不知道相同的数是 \(1\) 还是 \(4\),但两个人显然都能判断出来相同的数是 \(1\)。
时间复杂度 \(O\left(n+m\right)\)。
E
\(n\) 和 \(m\) 同阶,统一用 \(n\) 代替。
首先敌方自残的发生肯定是一对一对的。
其次,我方战斗机的位置至少能引发一对战斗机自残,否则没有意义。
所以我们可以 \(n^4\) 枚举我方战斗机的位置。
问题是怎么判断击落几架战斗机(可能一边击落两架另一边击落一架)。
直接做是 \(O\left(n\right)\) 的。
考虑在处理位置时把能击落战斗机的位置塞进一个 bitset 里。
然后两个位置并起来就是答案。
时间复杂度 \(O\left(\frac{n^5}{w}\right)\)。
F
01 分数规划。
假设答案是 \(x\),也就是说要满足
\]
\]
先按 \(a\) 从大到小排序,然后把有相同 \(a\) 的任务放到一起处理。显然,之前处理过的任务都可以在当前任务作为第二次执行的任务的情况下作为第一次执行的任务。
因为第二次执行的个数不能多于第一次执行的个数,每次在处理一些有相同 \(a\) 的任务之后都要满足:之前第一次执行完,还未有第二次执行的个数大于等于当前第二次执行的个数。
即:之前第一次执行的个数减去之前第二次执行的个数大于等于当前第二次执行的个数
移项:之前第一次执行的个数大于等于总共第二次执行的个数。
整理得到:总共第一次执行的个数减去当前第一次执行的个数大于等于总共执行的个数减去总共第一次执行的个数。注意此处是为了方便代码的实现。
我们令 \(f_{i,j}\) 表示总共处理了前 \(i\) 种不同 \(a\) 的任务,有 \(j\) 个任务是第一次执行的最大值。有
\]
其中 \(w_{i,j}\) 表示第 \(i\) 种任务选 \(j\) 个的最大值。因为 \(a\) 相同,所以显然是 \(b\) 最大的 \(j\) 个。
然后就做完了,时间复杂度 \(O\left(n^2\log a\right)\)。
Codeforces Round #488 by NEAR (Div. 2)的更多相关文章
- codeforces 993c//Careful Maneuvering// Codeforces Round #488 by NEAR (Div. 1)
题意:x轴-100和+100的有敌人飞船,纵坐标由输入数据给出,我方有2飞船在x轴0,y坐标待定.0时刻时敌人同时向我方2飞船发出光线,光线会穿透飞船打到敌人自己,问2飞船放在哪敌人损失最大? 假如- ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- 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 ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
- Educational Codeforces Round 39 (Rated for Div. 2) G
Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...
随机推荐
- B. Psychos in a Line 解析(思維、單調棧)
Codeforce 319 B. Psychos in a Line 解析(思維.單調棧) 今天我們來看看CF319B 題目連結 題目 給一個數列,如果相鄰兩數,左邊大於右邊,那麼就可以殺死右邊的數字 ...
- 重要,知识点:InnoDB的插入缓冲
世界上最快的捷径,就是脚踏实地,本文已收录[架构技术专栏]关注这个喜欢分享的地方. InnoDB引擎有几个重点特性,为其带来了更好的性能和可靠性: 插入缓冲(Insert Buffer) 两次写(Do ...
- java多线程实现TCP网络Socket编程(C/S通信)
目录 开篇必知必会 一.多线程技术 二.实现多线程接收 1.单线程版本 2.多线程版本 三.多线程与进程的关系 四.客户端界面完整代码 五.多线程通信对比 最后 开篇必知必会 在前一篇<Java ...
- 基于 opencv 的图像处理入门教程
前言 虽然计算机视觉领域目前基本是以深度学习算法为主,但实际上很多时候对图片的很多处理方法,并不需要采用深度学习的网络模型,采用目前成熟的图像处理库即可实现,比如 OpenCV 和 PIL ,对图片进 ...
- 设计模式 | 职责链模式(Chain of responsibility)
定义: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这个对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 结构:(书中图,侵删) 一个抽象的处理者 若干 ...
- Numpy入门(简单)
NumPy介绍 最近因为需要使用python做一个数据处理的项目,所以粗略的学习了一下numpy,在此分享一下自己学习中遇到的一些问题和一些基础的名词. 什么是NumPy? python用于科学计算的 ...
- 简单谈谈Hilt——依赖注入框架
今天继续Jetpack专题,相信不少的朋友都使用过Dagger,也放弃过Dagger,因为实在太难用了.所以官方也是为了让我们更好使用依赖注入框架,为我们封装了一个新的框架--Hilt,今天一起来看看 ...
- Liquibase+SpringBoot的简单使用笔记!update+rollback
该笔记记录了springboot整合liquibase之后,如何根据liquibase ChangeLogFile对数据库进行修改以及回滚操作 参考: baeldung.com JHipster 1. ...
- 力扣 - 142. 环形链表 II
目录 题目 思路1 代码实现 思路2 代码实现 题目 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链 ...
- 回顾MySql的一些基本的增删改查
---恢复内容开始--- 回顾数据库的一些简单的增删查改的操作语法与注意点,来自菜鸟教程https://www.runoob.com/mysql/mysql-tutorial.html 关于数据库的操 ...