09 2022 档案
摘要:A. 网格图 这题肯定要用并查集,然后暴力搞好像是 仔细思考一下发现我们其实只需要绕着选定矩形的边跑一遍即可 那么这是 可过? 但是你发现无法处理完全包含在矩形中的 于是我有了两种思路, 矩形大小减去外侧联通 这玩意根本没法搞 统计完全包含的贡献 这个好像可行 进一步思考,发
阅读全文
摘要:A. 莓良心 死因答案统计错误,每次删去两个,而我只删一个 发现维护小的上界 和最大的下界 那么所有数都取在 一定最优 所有数的贡献都是 于是就可以继续处理 如果 那么所有数可以取一个值,不会有贡献,直接 即可
阅读全文
摘要:又是模拟退役的一天 A. 排序 死因 : 输出没有让前面小于后面 通过找规律发现交换两个数值相邻的一定可以 原因是这样保证每次操作只减少一个逆序对 code #include<bits/stdc++.h> using namespace std; typedef long long ll; type
阅读全文
摘要:A. 回文 经典 ,两边同时走,三维状态表示走了几步,左上出发走到哪行,右下出发走到哪行 code #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 505; const
阅读全文
摘要:A. 开挂 排序后从大到小考虑,并查集记录值为 时最小的能放的 这样小的数跳的步数尽量多, 排序后倒着乘起来 或者用栈也可以,参考 大佬的题解吧 code #include<bits/stdc++.h> using namespace std; typedef lo
阅读全文
摘要:模拟退役的天数++ A. 数数 对于这种题,直接猜结论, 上来啥都不想,直接拍个序 如果 显然选择最大和最小 猜测 时原来选的不会改变 感觉好像是对的,那么继续猜测在剩下的元素中选择最小或最大的一定最优 写出来不知道对不对怎么办? 写暴力 + 对拍 证明?
阅读全文
摘要:又双叒叕模拟退役了。。。。。。。 话说快读打挂了,为啥在本地能跑? 甚至切了 (赛后) 有会的大佬解释下吗 upd:solved,感谢Muel_imj大佬 读到的第一个字符是数字,所以第一个数直接到第二个 while 不会出错。快读在最后时会多读一个字符,恰好把数字之间的恰好一个
阅读全文
摘要:A 数组复原 / 快速De变换 发现一组 和 可以看作 与 之间连有一条边 那么我们就是要找一条欧拉路,然后我不会。。。 做法其实就是找到度为奇数的点开始 ,然后扫完了再记录 比较坑的就是题目没有保证数据合法,也就是说存在 $s1
阅读全文
摘要:C 修水管 由于是我造的新数据,所以讲的详细些 作为本场考试 大佬唯一没有一眼秒切的题,这题还是有点意思的 这边顺便讲一下新设置的子任务 我觉得我很良心了,比原题至少多送了 分 并且增加了一些给比状压更劣做法的部分分,以及一个用于启发正解的子任务 \(subtask1
阅读全文
摘要:A. 最长上升子序列 考虑构造字典序最小的方案,他长这个样子 code #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; inline int read
阅读全文
摘要:不愧为 赛制 A. 选举 以为是个贪心题,结果怎么贪都不对,到九点多意识到这是 ,然后就不想打了。。。。 写了个假 ,就不在这里说了。。 首先如果我们知道选择了多少协作者,那么我们一定按照时间升序搞到他们,并且在剩下的州选择时间最少的若干个得到选票 那么我们就有了一个
阅读全文
摘要:A. 玩水 一直以为这是 ,但是只是一个性质/结论 code #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; inline int read
阅读全文
摘要:A. 序列问题 考场先写出一个 表示长度为 的子序列的最大贡献, 然后发现每个点的贡献在坐标系里是一个三角形,非常恶心,然后不知道怎么想到换定义了 定义 为以 为结尾的,并且 位置有贡献的最大贡献 那么能转移到 的 需要满足 $j <
阅读全文
摘要:感觉自己 要提前爆完了,千万别啊 A. 乌鸦喝水 暴力链表 其实有这样一个性质,转换为每个桶最多被喝多少次以后,次数小的桶一定先被喝完 于是按照次数排序,每次处理一个桶即可 考场上没有推出前面的性质,所以有一个线段树思路,就是每个点减去他前面还剩下的元素个数,每次找最小值,
阅读全文
摘要:由于某些原因单开一个 同步到洛谷题解 如果把每个数向前面第一个比他大的数连边,那么构成一个树形结构 可以发现对于一个 一直到下一个大于等于他的数之前的区间都会被他所影响,即都是他的子树,那么也就是说每个结点的子树是一个连续区间 因为是连续区间,所以他们被改变的时间也是连续的,我们考虑维护随时
阅读全文
摘要:???博客园自动保存呢? 我刚打完就没了????? 下次一定本地写 因为某些原因,原来写完的题解突然没了,于是有了现在这个 下次一定在本地写 A. F 枚举 和哪个数异或然后暴力检查即可 不会有人跟我一样傻打 吧 code #include<bits/stdc++.h> u
阅读全文
摘要:A. 石子游戏 考场记得 游戏好像是把什么异或起来,然后瞎推半小时推出 然后,从始至终都是这个暴力分。。。。。 关于正解,其实是优化了取模和异或的过程 设 表示 的出现次数,你会发现这里已经把问题转移到了值域上 设 表示
阅读全文
摘要:A. 世界冰球锦标赛 原题 code #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; inline ull read(){ ull x = 0; ch
阅读全文
摘要:不知道拖了多久,我太菜了 A Coprime Arrays 完全没有想到会考莫反 形式化一下 套路莫反得到 $\displaystyle f(k) =
阅读全文
摘要:A. 数据恢复 考场推出一个柿子 那么会优先选 然后用优先队列维护,同时拓扑,怎么都过不了样例 ... 实际上,当前决策优秀不一定全局最优 正解考虑先把所有点入堆, 每次取堆顶, 如果他的父亲还没被选,那么在选了他的父
阅读全文
摘要:由于本人太菜,各位大佬太强,所以本人没有造数据以及预定讲题的机会,所以只能写篇题解了 另外记录了各题的造数据人,感谢良/凉心造数据人们 还有一点本人口胡的预测 upd : 这, 卡下界是吧.. 预计前左右的人的分数在 之间,最高分在 小于 $10
阅读全文
摘要:A. 元素周期表 发现当同一列有多个点,他们所在行可以合并 同一行有多个点,他们所在列可以合并 一个方案可行,当且仅当能够合并成一个格子 用并查集处理,合并行列后得到的矩形,他的每一行每一列至多有一个元素 那么 code #include<cstring>
阅读全文
摘要:Pseudo-Random Number Generator 分段打表 + 找循环节 找循环节的过程很有意思 打表 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std;
阅读全文
摘要:A. ZZH的游戏 假设我们知道答案 我们每次要在两棵树上尝试走到编号尽可能小的点,这样我们能走到的范围单调递增 二分答案会多个 , 我们考虑另一种方法 初始 然后两棵树扩展到不能动为止,这个时候我们让 ,继续之前的过程,直到两棵树都到
阅读全文
摘要:差点又双叒叕模拟退役 上来先, 然后感觉就差一点, 最后搞出来就十点多了.. 然后心态一度爆炸,有点小摆烂,上厕所冷静一下觉得还有时间,能抢救一下 然后开了 , 没啥思路瞎搞,开根号在附近找数用 ,发现大数据丢精异常严重 比 大
阅读全文
摘要:A. antipalindrome 真 · 签到题 然后忘了给 取模, 挂了 考虑任何大于 的回文, 必然存在相邻两个字母相同,或者中间隔一个字母,那么从前往后考虑每一个位置,他有 种可选方案 答案就是 $m * (m - 1) * (m - 2) ^{
阅读全文