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\),也就是说要满足

\[\sum_1^n a_i-x\times\sum_1^n b_i\leq 0
\]
\[\sum_1^n a_i-x\times b_i\leq 0
\]

先按 \(a\) 从大到小排序,然后把有相同 \(a\) 的任务放到一起处理。显然,之前处理过的任务都可以在当前任务作为第二次执行的任务的情况下作为第一次执行的任务。

因为第二次执行的个数不能多于第一次执行的个数,每次在处理一些有相同 \(a\) 的任务之后都要满足:之前第一次执行完,还未有第二次执行的个数大于等于当前第二次执行的个数。

即:之前第一次执行的个数减去之前第二次执行的个数大于等于当前第二次执行的个数

移项:之前第一次执行的个数大于等于总共第二次执行的个数。

整理得到:总共第一次执行的个数减去当前第一次执行的个数大于等于总共执行的个数减去总共第一次执行的个数。注意此处是为了方便代码的实现。

我们令 \(f_{i,j}\) 表示总共处理了前 \(i\) 种不同 \(a\) 的任务,有 \(j\) 个任务是第一次执行的最大值。有

\[f_{i,j}=\max\left\{f_{i-1,j-k}+w_{i,k}\right\}
\]

其中 \(w_{i,j}\) 表示第 \(i\) 种任务选 \(j\) 个的最大值。因为 \(a\) 相同,所以显然是 \(b\) 最大的 \(j\) 个。

然后就做完了,时间复杂度 \(O\left(n^2\log a\right)\)。

Codeforces Round #488 by NEAR (Div. 2)的更多相关文章

  1. codeforces 993c//Careful Maneuvering// Codeforces Round #488 by NEAR (Div. 1)

    题意:x轴-100和+100的有敌人飞船,纵坐标由输入数据给出,我方有2飞船在x轴0,y坐标待定.0时刻时敌人同时向我方2飞船发出光线,光线会穿透飞船打到敌人自己,问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 ...

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

  4. Educational Codeforces Round 43 (Rated for Div. 2)

    Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...

  5. Educational Codeforces Round 35 (Rated for Div. 2)

    Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...

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

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

  8. Educational Codeforces Round 63 (Rated for Div. 2) 题解

    Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...

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

随机推荐

  1. 枚举的使用(限foton)

    使用: /** * 服务真实性标签 * * @param realRepairs * 真实维修单数 * @param totalRepairs * 总单数 * @return */ public st ...

  2. puk1521 赫夫曼树编码

    Description An entropy encoder is a data encoding method that achieves lossless data compression by ...

  3. Java学习的第三天

    1.今天学了main函数具体的解读如 main函数关键字的意义 变量命名 2.在2.1当中的cmd命令实施失败,文件路径没有找到. 3.明天学习变量范围和注释阅读大道至简.

  4. [Luogu P4777] 【模板】扩展中国剩余定理(EXCRT) (扩展中国剩余定理)

    题面 传送门:洛咕 Solution 真*扩展中国剩余定理模板题.我怎么老是在做模板题啊 但是这题与之前不同的是不得不写龟速乘了. 还有两个重点 我们在求LCM的时候,记得先/gcd再去乘另外那个数, ...

  5. Positions of Large Groups

    Positions of Large Groups In a string S of lowercase letters, these letters form consecutive groups ...

  6. 转载-Eclipse无法打开Eclipse MarketPlace的解决办法

    问题描述: Eclipse点击 help-->Eclipse MarketPlace 后无任何反应,无报错,打不开 解决方法: 重新安装一下 epp MarketPlace help--> ...

  7. 关于||和&&运算符及表达式的执行

    ++a || ++b && ++c表达式中++a,--b,++c三者执行与否的判断 在||运算符前的表达式为真,则其后的表达式不执行 eg:执行前 a=2,  b=2,  c=2 执行 ...

  8. 【QT】继承QRunnable+QThreadPool实现多线程

    往期链接: <QThread源码浅析> <子类化QThread实现多线程> <子类化QObject+moveToThread实现多线程> 本文章实例的源码地址:ht ...

  9. Future Callable 线程池 例1

    package com.niewj.concurrent; import java.util.concurrent.Callable; import java.util.concurrent.Exec ...

  10. 认识Javascript中的作用域和作用域链

    作用域 只要写过java或者c#等语言的同学来说,相信一定能理解作用域的概念,在作用域的范围中,我们可以使用这个作用域的变量,对这个变量进行各种操作.可是,当使用Javascript的时候,相信很多的 ...