Codeforces 1148 E - Earth Wind and Fire】的更多相关文章

E - Earth Wind and Fire 思路: 栈模拟 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using namespace std; #define y1 y11 #define fi first #define se second #define pi acos(-1.0) #define LL long long //#…
题目链接: http://codeforces.com/contest/1148/problem/E 题意: 给出两个长度为$n$的序列,将第一个序列变成第二个序列,顺序不重要,只需要元素完全相同即可 只有一种修改操作 $a_i=a_i+d,a_j=a_j-d$满足 $a_j-a_i\geq 2 \cdot d$ 数据范围: $1\leq n\leq 3e^{5}$ 分析: 先说结论: 对$a,b$数组排序,结果一定是$a_i$变成$b_i$,也就是一一对应的关系 有些数需要增加,有些数需要减少…
大意: $n$个石子, 第$i$个石子初始位置$s_i$, 每次操作选两个石子$i,j$, 要求$s_i<s_j$, 任取$d$, 满足$0\le 2d\le s_j-s_i$, 将$s_i,s_j$改为$s_i+d,s_j-d$. 给定数组$t$, 求是否能将所有石子位置摆成数组$t$. 没要求最小化操作数, 所以直接贪心选即可, 操作数一定是不超过$n$的. 这场当时没时间打, 感觉好亏. #include <iostream> #include <sstream> #i…
分析 必要条件: ① $\sum_{i=1}^{n} s_i = \sum_{i=1}^{n} t_i$ 预处理: 将 $s, t$ 从小到大排序. 尝试一 首尾匹配.例子 s = 2, 2, 4, 7, 9 t = 4, 5, 5, 5, 5 4, 2, 4, 7, 7 4, 4, 4, 7, 5 4, 5, 4, 6, 5 4, 5, 5, 5, 5 反例 s = 1, 4, 5, 8 t = 2, 3, 6, 7 key observation: 考虑排好序的 $s$ 和 $t$. ① 要…
可以查看整个地球的全貌 ,还能定位你的位置,特别是动画挺有意思 网址:https://earth.nullschool.net/#current/wind/surface/level/orthographic=-240.00,0.00,320…
http://codeforces.com/contest/864/problem/E 题意: 有一堆物品,每个物品有3个属性,需要的时间,失效的时间(一开始)和价值.只能一件一件的选择物品(即在选择这件物品时需要一定的时间,在这段时间之内不能选择其他物品),选择这件物品只能在失效时间之前选择.问选择的最大价值是多少. 思路: 对于每一个物品,有选和不选两种操作,与01背包是相似的.但是此题选择的顺序会影响到结果,这是01背包不同的地方. 比如 a.st = 3,a.en = 5,a.v = 4…
题目链接:http://codeforces.com/problemset/problem/1121/A 真·阅读理解 题意就是 有n个人 pi表示他们的强度 si表示他们来自哪个学校 现在Arkady选了K个人 如果这其中有某些人不是他们学校里最强的,你就让这个人自己去一个学校 他就是这个新学校里面最强的 那么就一定会被选上 并且他原学校的最强的也会被选上 也就是 k个人里有哪个人不是最强的就必须多一个学校呗 读题半小时代码几分钟.. 代码如下 #include <cstdio> #incl…
E. Fire time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Polycarp is in really serious trouble — his house is on fire! It's time to save the most valuable items. Polycarp estimated that it…
传送门 题意 给出n种物品,抢救第\(i\)种物品花费时间\(t_i\),价值\(p_i\),截止时间\(d_i\) 询问抢救的顺序及物品价值和最大值 分析 按\(d_i\)排序的目的是防止以下情况 4 8 100 1 2 100 不排序只能选择第一个物品 (请仔细思考) 那么排序后做一遍背包,排序后选择顺序必定是递增的,求路径时从n往前找,具体见代码 code #include<bits/stdc++.h> using namespace std; #define ll long long…
Codeforces Global Round 3 A. Another One Bites The Dust 有若干个a,有若干个b,有若干个ab.你现在要把这些串拼成一个串,使得任意两个相邻的位置都是不同字符,求可能的最长串长度. 枚举一下\(a\)开头还是\(b\)开头,那么接下来就被唯一确定了. #include<iostream> #include<cstdio> using namespace std; int a,b,c;long long ans; int main…