摘要: 多源最短路 顾名思义,我们开始有多个源头,然后跑最短路。 其中的 \(dis\) 数组记录的是该点到任意源点的最短距离。 然后这道题就迎刃而解了,我们枚举路径, 对于路的端点找 \(pre\) 数组,对答案取 \(min\) 即可。 code: #include <bits/stdc++.h> #d 阅读全文
posted @ 2021-08-12 20:30 zJx-Lm 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 裸的线段树,这里不再讲方程的转移实现,主要证明一下按照和排序的正确性。 对于 \(j\) 我们希望 \(i\) 再其的前面。格式化的,对于 \(a_{i}\leq b_{j}\) 且 \(b_{i}\leq a_{j}\) ,我们期望 \(i\) 排在 \(j\) 的前面。 为什么要 \(b_{i} 阅读全文
posted @ 2021-08-12 20:20 zJx-Lm 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 一道扩欧板子。实际上就让我们解 \(n\) 个 \(ax+by=c\) 形式的方程,方程有解当且仅当 \((a,b)|c\)。 再回忆一下扩欧吧 对于一个扩欧方程 ,我们解的答案仅是满足 \(ax+by=(a,b)\) 形式的,要想转变为上述形式,等式左右同除 \((a,b)\) 再乘 \(c\) 阅读全文
posted @ 2021-08-12 19:58 zJx-Lm 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 从DP到组合数到DP套组合数再到放弃... 神仙能想出来的思路... 我们设 \(dp_{i,j,{0/1},{0/1}}\) 表示长度为 \(i\) 的序列在不大于 \(j\) 步被消完的方案数,其中左边的 \(0/1\) 表示左边是否有边界(比当前序列的所有数都大或整个序列的边界),右边同理。 阅读全文
posted @ 2021-08-12 19:31 zJx-Lm 阅读(52) 评论(1) 推荐(0) 编辑
摘要: T2 稀有算法 : 树剖 。 虽说过不了,但能打出来就好 考场时就86,到现在还是86,实在卡不动了... 代码能力++ 这里不做树剖讲解,仅作留念。(下文讲正解) 有兴趣的 \(oler\) 可以自行尝试 #include <bits/stdc++.h> #define re register # 阅读全文
posted @ 2021-08-09 20:54 zJx-Lm 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 虽然不清楚是不是那两人的力量 在那个风暴肆虐的夜晚,的确有一瞬 真的在那一瞬间,在云破天开的时候 透过空隙中看到的璀璨星空,不知为何倒映眼中不能忘怀 ” ——《奇迹召唤星辰》 时空轮回,我们回到xm的仲夏夜,在行星运动之前,我们掌握了他们的运动规律。 在一个行星湮灭之后,恰好构成了上个行星湮灭时的序 阅读全文
posted @ 2021-08-08 21:14 zJx-Lm 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 思路挺新奇的,算法的名字也挺好听的: 同余最短路。 我们令 \(dp_{i,j,v}\) 为选到第 \(i\) 个物品,其中选了 \(j\) 件限制物品,所选物品总体积% \(v_{min}\) 意义下为 \(v\),所选物品的最小实际总体积。 判断时用 \(dp[i][j][w\%v_{min}] 阅读全文
posted @ 2021-08-08 20:50 zJx-Lm 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 本场考试最有意义的一道题,思路根据题解和 ICEY 钻研了好久但最后分道扬镳了,写篇题解纪念一下。 先构造出最终状态,最后的状态一定是 \(1\) 到 \(n\) 的一条链,并且不在链上的每个联通块最多只和链上的一个点有连边。 形如: 我们定义状态: \(dp_{u,s}\) 为当前链的末端点为 \ 阅读全文
posted @ 2021-08-08 17:22 zJx-Lm 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 这道题思路比较新奇,题解用了一个质因子对的概念: 顾名思义,两个质数,且出现在序列中不同的数当中。 这有什么用呢? 我们可以通过判断新加入的数与原序列的质因子的集合并集中是否有这样的质因子对,来确定新加入的数是否符合条件。 具体来说就是,取 A{ 新加入的数的质因子 } & B{ 原序列的质因子 } 阅读全文
posted @ 2021-08-07 21:07 zJx-Lm 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 正解虚树,树剖等等等等。。。。 玄解 LCA,模拟等等等等。。。。 这里讲讲考场打的模拟算法。 顾名思义,模拟就是模拟传染,针对这道题(random题)进行了很优的优化。 主题代码 inline void find() { queue<int>s; while(!q.empty()) { int x 阅读全文
posted @ 2021-08-06 08:44 zJx-Lm 阅读(35) 评论(0) 推荐(0) 编辑