10 2022 档案
摘要:比赛链接 A 题解 知识点:数学。 特判加 ,其他加 直接偶数。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long using namespace std; bool solve
阅读全文
摘要:比赛链接 A 题解 知识点:贪心,构造。 注意到有 就一定能构造。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long using namespace std; bool solve() { i
阅读全文
摘要:比赛链接 A 题解 知识点:模拟。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long using namespace std; bool solve() { int a, b, c; cin >> a
阅读全文
摘要:比赛链接 A 题解 知识点:模拟。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long using namespace std; bool solve() { string a, b; cin >> a
阅读全文
摘要:比赛链接 A 题解 知识点:贪心,模拟。 遇到没用过的数字就给个字母,遇到用过的数字就对照字母是否一致。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long using namespace std; i
阅读全文
摘要:比赛链接 A 题解 知识点:贪心,数论。 先求出序列最大公约数 ,如果为 直接输出 。 否则,尝试用最后一个数操作, 则可以,花费为 。 否则,用倒数第二个数操作, (不必担心 ,因为此
阅读全文
摘要:比赛链接 A 题解 知识点:枚举。 只要一个Q后面有一个A对应即可,从后往前遍历,记录A的数量,遇到Q则数量减一,如果某次Q计数为0则NO。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long usin
阅读全文
摘要:比赛链接 A 题解 知识点:贪心。 注意到 时,不存在某一行或列空着,于是不能移动。 而 时,一定存在,可以移动。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long u
阅读全文
摘要:比赛链接 A 题解 知识点:贪心。 显然交错释放最好。 若两类数量不一样,那么较少的一组的一定都可以双倍,剩下的另一组就放进一个优先队列,从大到小和少的一组匹配可以双倍,剩下的直接加。 如果两类数量一样,那一定有一个不能被双倍。用上面的方法后,减去一个两组的最小值即可。 时间复杂度 $O(n \lo
阅读全文
摘要:比赛链接 A 题解 知识点:贪心。 考虑两种方法: 所有不同的位置使用操作1变成相同 使用操作1将两串01数量相同,然后使用1次操作2 取其中最小的即可。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long lo
阅读全文
摘要:比赛链接 A 题解 知识点:模拟。 所有点都跑一遍即可。 另外可以不模拟, 的情况都可以摆在 这个点,其他摆在 。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll
阅读全文
摘要:比赛链接 A 题解 知识点:贪心,数学。 注意到三段工作时间一共 天,且天数实际上可以随意分配到任意一段,每段至少有一天,现在目的就是最大化段差最小值。 不妨设 ,显然满足等式 时段差相等,即没有长度被浪费。 解
阅读全文
摘要:比赛链接 A 题解 知识点:贪心。 注意到任意三根木棍的相等最优解是最长减最小,因此从小到大排序,三个三个取,取最小值。 时间复杂度 空间复杂度 代码 #include <bits/stdc++.h> #define ll long long using na
阅读全文
摘要:比赛链接 A 题解 知识点:贪心。 下标模 相同分为一组,共有 组,组间不能互换,组内任意互换。 题目要求连续 个数字,一定能包括所有的 组,现在只要在每组中选取最大的加在一起即可。 时间复杂度 空间复杂度 代码 #include <bit
阅读全文
摘要:比赛链接 A 题解 知识点:贪心。 对于一个轨道,要么一次性清理,要么一个一个清理。显然,如果行星个数大于直接清理的花费,那么选择直接清理,否则一个一个清理。即 ,其中 表示轨道 的行星个数。 时间复杂度 空间复杂度
阅读全文