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 < ...
随机推荐
- 利用数据库拿shell的一些姿势
0x01.利用MySQL命令导出getshell 利用条件: 1.拥有网站的写入权限 2.Secure_file_priv参数为空或者为指定路径 3.知道网站的绝对路径 方法: 通过into outf ...
- react hooks子给父传值
子给父传值需要通过事件方法来传值,这里我们子组件是触发了一个点击事件传值: <Button onClick={()=>setshowregister(false)}>注册</B ...
- 物流一站式单号查询之快递鸟API接口(附Demo源码)
连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...
- C# stopwatch的简单使用(计算程序执行时间)
首先添加引用 using System.Diagnostics;//stopwatch的引用 //声明变量 Stopwatch a=new Stopwatch();//PS:这里一定要new(实例化) ...
- python框架Django中MTV框架之Template(模板/界面)
MTV框架之Template(模板/界面) 关注公众号"轻松学编程"了解更多. 1.模板目录位置 应用下 不需要注册 无法跨应用地进行复用 工程下 需要注册 settings.py ...
- Stimulsoft Reports和Dashboards发布新版本2020.5具有多项改进
Stimulsoft仪表工具实现所需的数据可视化和自己的信息图表.该产品能够应用必要的过滤器和排序,汇总数据,执行任何复杂度的计算.该产品的优势在于其多功能性-能够为您的业务,财务,销售,行业等任何领 ...
- 剑指29:最小的k个数
题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. class Solution {public: vector& ...
- 鸿蒙之后,小米 Vela 也来了,下一代物联网平台应该是什么?
1. 华为鸿蒙基于jerryscript构建物联网应用框架 2020年9月10日 鸿蒙OS 1.0 正式版发布,面向物联网领域,鸿蒙推出了类web开发架构ACE JS = LiteOS + jerry ...
- iOS开发 objective C 代码布局
代码布局抛弃storyboard,用代码生成界面,它的优劣不谈 首先在项目设置中,更改应用的"入口" 不选main,清空它 然后在AppDelegate.m中,更改(添加内容),别 ...
- 解决js中对象中属性是数组中对应元素,不能使用点数组元素(.数组[i])来获取value值来循环,属性不能是数组元素array[i]的问题
数据类型 //示例 var tags1avg= ['rg2_crt_001_001_avg', 'rg2_crt_001_002_avg', 'rg2_crt_001_003_avg', 'rg2_c ...