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 < ...
随机推荐
- drf 视图使用及源码分析
前言 drf视图的源码非常的绕,但是实现的功能却非常的神奇. 它能够帮你快速的解决ORM增删改查的重复代码,非常的方便好用. 下面是它源码中的一句话: class ViewSetMixin: &quo ...
- STM32入门系列-开发工具keil5安装
主要介绍如下三部分内容: keil5软件获取 keil5安装 安装STM32芯片包 软件获取 可以通过搜索引擎搜索关键字"KEIL5下载",找到其官方网站www.keil.com. ...
- 学了元件作用域,我终于对JMeter开窍了
引子 先看一下这个例子,测试计划"进入考场"下面有一个线程组,线程组下面有 3 个 HTTP 请求,分别是学生登录.考场 token和进入房间: 它们的处理逻辑是: 学生登录后,在 ...
- Unity报错:xxx AnimationEvent has no function name specified!
参考:https://blog.csdn.net/register_man/article/details/54172778 在开发时出现了题目中的错误且有动画掉帧的情况,搜索后发现是在动画编辑器中我 ...
- Appium+python自动化环境搭建
一.步骤及环境 环境:Windows 7版本 64位系统(python) 1.jdk安装配置:jdk1.6.0 (64位) 2.android-sdk下载安装:android-sdk_r24.3.4- ...
- leetcode113:sudoku-solver
题目描述 请编写一个程序,给数独中的剩余的空格填写上数字 空格用字符'.'表示 假设给定的数独只有唯一的解法 这盘数独的解法是: 红色表示填上的解 Write a program to solve a ...
- C++动态存储方式与静态存储方式
如果从变量值存在的时间(即生存期)来分,可将程序中的变量分为:动态存储方式和静态存储方式.它们所占用的存储空间区域不同. C++存储空间区域 代码区:存放可执行程序的程序代码.静态存储区:存放静态变量 ...
- C\C++语言重点——指针篇 | 为什么指针被誉为 C 语言灵魂?(一文让你完全搞懂指针)
本篇文章来自小北学长的公众号,仅做学习使用,部分内容做了适当理解性修改和添加了博主的个人经历. 注:这篇文章好好看完一定会让你掌握好指针的本质! 看到标题有没有想到什么? 是的,这一篇的文章主题是「指 ...
- kali中PHANTOM-EVASION 3.0运行时module ' OpenSSL.crypto' has no attribute ' PKCS12Type'报错解决方法
kali中直接用pip install pyopenssl安装当最新的openssl中的crypto中的类PKCS12Type改成了PKCS12 所以需要在phantom中改对应代码 将这个文件中对应 ...
- Java—字符流
一.字符流 字符流概述: 在操作过程中字节流可以操作所有数据,操作的文件中有中文字符,并且需要对 中文字符做出处理 二.字符编码表 文字-->(数字):编码."abc".ge ...