随笔分类 - 补题记录
摘要:F. Witnessing the Miracle / 见证奇迹 动态规划。 打表发现当一个被拿走的磁铁集合确定之后,未被拿走的磁铁的方向和距离可以由它左边被拿走的磁铁数量确定,因此,拿走磁铁的先后顺序不影响最终局面的状态,即从 \(S\) 中拿走不同集合的磁铁所对应的状态也是不同的。 考虑从左往右
阅读全文
摘要:F. Sum of Numbers 高精度,\(dp\),暴搜。 要使得 \(n\) 位分成 \(k+1\) 段后相加结果数值最小,那么应该每段都尽可能的平分成 \(\frac n{k+1}\) 位,然后剩下的 \(n\%(k+1)\) 也平分,但这里可能会存在某段被多分两位,某段需要去掉一位,比如
阅读全文
摘要:J. Travel 2 思维,模拟搜索。 如果从 \(u\) 选一条边到 \(v\),然后再从 \(v\) 又刚好选到一条边回来 \(u\),那么 \(u-v\) 这条边我们已经知道它分别在 \(u\) 和 \(v\) 里的排名了,一共有 \(m\) 条边,显然 \(2m\) 次可以拿来确定有哪些边
阅读全文
摘要:K. Maximum Rating 数据结构。 考虑最大化变化次数,显然是先涨分再掉分,最小化相反,先掉分再涨分,从最大到最小,每次拿一个正数小的去给到负数那边,变化次数就可以减少一,最终最大到最小之间都可以取到,假设正数排序后前 \(k\) 小的和小于等于负数和,说明我们就从最大值再变化 \(k\
阅读全文
摘要:G. China Convex Polygon Contest 反悔贪心。 首先可以考虑对 \(b\) 排序,显然思考越快的题可以使手里攒着的题更多更有选择的空间。 如果正着贪心的话就是,当前能做就立马提交,如果当前的时间更优但选不了就从之前丢一个小的然后选择当前;但是会存在这样一个情况,刚开始把
阅读全文
摘要:A. Best Player 模拟。 题意是分别站在 \(X,Y,Z\) 轴上看另外两维构成的点,谁看到的更多。 分别对三维维护一个 \(\text{pair}\) 去重比较即可。 点击查看代码 #include<bits/stdc++.h> using namespace std; #define
阅读全文
摘要:B - Bitwise Exclusive-OR Sequence 种类并查集。 根据每一对的异或关系,可以得到二进制中每一位是否互斥关系,涉及到两种关系的处理用种类并查集更好维护;另外再维护两个点之间是否有关系,之后可能形成多个关系的集合,每个集合又分成了互斥的两个部分,对少的那一堆赋值为 \(1
阅读全文
摘要:A. Hitoshizuku 贪心。 对右端点排序后,对于没有被匹配的点,每次把小于等于该右端点的维护一下,然后该端点去匹配维护的集合里两个右端点最小的即可。 不会证明,题解说是调整法可得是最优的 点击查看代码 #include<bits/stdc++.h> using namespace std;
阅读全文
摘要:C. 造桥与砍树 解法一:魔改 prim。 回顾经典的prim算法,从第一个点开始,每次找权值最小的边加入,然后更新到每个点的距离和边的起点,以此往复。 对于这道题来讲,每次更新到其他 \(n-1\) 个点的最小权值显然复杂度太大,但按照贪心的来讲,我们其实每次只选最小的那条边加入而已,所以对于点
阅读全文
摘要:A.扭蛋 思维。 考虑最坏情况,一定是每次都获得数量最多的那个扭蛋,那除掉一个之后多余的数可以拿来换数量少的扭蛋,若当前 \(a_i - 1\) 加上之前存的多余的扭蛋数大于等于了 \(i-1\) ,说明后面的扭蛋都可以换。 点击查看代码 #include<bits/stdc++.h> using
阅读全文
摘要:F. Gift 基环树处理环。 给一棵基环树,要求删掉一条边后还是一棵树,说明只能删掉这棵基环树上的环上的边。 删掉边后还要保证以 \(p\) 作为根节点时,其他节点的儿子数量不超过 \(3\),说明根节点的度数一定是小于等于 \(3\) 的,除此之外,如果树上存在度数大于 \(4\) 的点,那么无
阅读全文
摘要:D. Arcane Behemoths 数学。 以 \(n=5\) 为例,考虑按顺序删掉后,留下最后一个数中各个数产生的贡献: a₁ a₂ a₃ a₄ a₅ a b c d e a+e b+e c+e d+e a+d+2e b+d+2e c+d+2e a+c+2d+4e b+c+2d+4e a+b+
阅读全文
摘要:A - Ban or Pick, What's the Trick 博弈论 dp。 设 \(dp_{i,j,k}\) 表示第 \(i\) 轮 A 选了 \(j\) 个,B 选了 \(k\) 个。 对 A 来说,当前如果要选应该选第 \(i - k + j + 1\) 个位置, \(i - k\) 为
阅读全文
摘要:F. Challenge NPC III 多源最短路、次短路。 对同种颜色跑BFS,过程中维护每条路的起点,由于同种颜色自己到自己就是最短,所以最后判断次短路是否小于 \(k\) 即可。 #include <bits/stdc++.h> using namespace std; using i64
阅读全文
摘要:C. Canvas Painting 贪心。 初始时画布上有 \(n\) 种颜色。每次操作最多可以减少一种颜色(通过改变一个位置的颜色,使其与另一个位置的颜色相同)。因此,问题转化为如何最大化有效操作次数(即减少颜色的次数),最终答案即为 \(n\) 减去有效操作次数。 将操作区间按左端点分组并排序
阅读全文
摘要:2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 前言 补题只补了前四道,第五题打个暴力都有 \(24\) 分,我这死活只有 \(22\) 分 \(QAQ\) RC-u1 大家一起查作弊 思路 按题意模拟。 不过很奇怪赛时用 getline 老是读入不了,还好换成 cin 直接读也
阅读全文
摘要:2024 (ICPC) Jiangxi Provincial 省赛 前言 和队友 vp 7t,赛后补了几题。 A. Maliang Learning Painting 思路 输出 a + b + c 代码 cin>>n>>m>>k; cout<<n+m+k<<endl; C. Liar 思路 队友写
阅读全文
摘要:2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(省赛) RC-u1 热҈热҈热҈ #include<bits/stdc++.h> using namespace std; using i64 = long long; int main() { ios::sync_with_stdio(f
阅读全文
摘要:2024年天梯成信校赛 L1-1 代码胜于雄辩 - 2024年天梯成信校赛补题 (pintia.cn) 就用PHP No PHP can be used in this contests L1-2 收水费 - 2024年天梯成信校赛补题 (pintia.cn) #include <bits/stdc
阅读全文

浙公网安备 33010602011771号