摘要: [NOIP2022] 比赛 0.问题转化 首先需要转化为区间历史和问题。 具体上来讲,就是将询问离线后,扫描线维护对于 \(r\) 来说,每一个 \(l\) 的 \(\sum_{i=l}^{r}(\max_{j=l}^{i}a_j\ \cdot\ \max_{j=l}^{i}b_j)\) 那么答案就 阅读全文
posted @ 2023-11-12 22:11 xaocy 阅读(18) 评论(0) 推荐(0) 编辑
摘要: P3863 - 序列 如果 \(n = 1\),也就是只有一个数的情况下,可以列出时间轴,要求实现后缀加,前缀查询大于 \(x\) 的个数,使用分块即可。 当 \(n \neq 1\) 时,也列出所有数的时间轴,那么就转变为了矩阵加,某一序列的前缀查询大于 \(x\) 的个数。 这时可以应用扫描线的 阅读全文
posted @ 2023-11-12 17:25 xaocy 阅读(15) 评论(0) 推荐(1) 编辑
摘要: CF1322E - Median Mountain Range 考虑分别对每个位置求出最后的数字。先枚举出这个数 \(x\),并将 \(a_i \ge x\) 的数设为 \(1\),\(a_i < x\) 的数设为 \(0\),然后做题目中的操作,若为 \(0\),则最终结果小于 \(x\),为 \ 阅读全文
posted @ 2023-11-12 17:25 xaocy 阅读(11) 评论(0) 推荐(1) 编辑
摘要: AT AGC043C - Giant Graph 因为 \({(10^{18})}^{x+y+z}\) 的底数很大,所以我们贪心的选择 \(x+y+z\) 大的点是存在正确性的。那么我们从小点向大点连有向边,形成 DAG 后,对于一个点,如果它指向的点都没有被选取,那么选择它,否则不选。 我们发现这 阅读全文
posted @ 2023-11-12 17:23 xaocy 阅读(20) 评论(0) 推荐(1) 编辑
摘要: [省选联考 2021 A/B 卷] 滚榜 首先明确要拆开 \(\sum b_i\)。 因为 \(b_i\) 不降,所以当一个人做了 \(x\) 道,后边的人都至少做了 \(x\) 道。 然后我们考虑提前算贡献,对于一个排名 \(p_i\)(倒序且 \(p_0\) 为 \(a_i\) 最大的位置),贡 阅读全文
posted @ 2023-11-12 17:16 xaocy 阅读(15) 评论(0) 推荐(1) 编辑
摘要: 前言 假设我们已经会了欧几里得算法 而且,真真真真的是浅谈 基本形式 \[ax+by=\gcd(a,b) \]\[a, b\in \mathbb{N}^* \]扩展欧几里得 (Exgcd) 则是求解以上方程的整数解 求特解 观察基本形式 \(ax+by=\gcd(a,b)\) 并考虑欧几里得算法的结 阅读全文
posted @ 2021-05-11 13:33 xaocy 阅读(751) 评论(1) 推荐(3) 编辑
摘要: 并查集 - 模板 并查集,顾名思义,就是能 并(合并) 能 查(查询) 的 集(集合) 需求 合并集合 (一般会给你两个点,需要合并两点所在的集合) 询问两点是否在同一集合内 实现 思想 并查集是将某些点(可以为一个点)看作一个集合,然后有若干个集合。 因为我们只是要合并集合以及询问两点是否在同一集 阅读全文
posted @ 2020-11-21 19:30 xaocy 阅读(52) 评论(0) 推荐(1) 编辑