02 2024 档案
摘要:生涯新高。 AB一眼。 C 直觉上, 不会超过 个。 考虑不严格的证明,最大的 显然等于 。接下来让 除以 或 ,最多有 层。 记忆化即可。 D 先从小到大排序。 若 \(a_1\ne a_2\
阅读全文
摘要:Day -6 晚上打 ABC 时忽然得知能去省选,开心,遂停课。 Day -5 上午去学校报道。下午摆烂+睡了 4h,晚上看看梦熊的 S 组模拟赛。 好吧一道不会被薄纱了,睡不着在看树剖。 day -4 八点起来,不错。 看腾飞营回放,基础算法抽象死了,我不信省选会考半在线高维前缀和这种东西。 中午
阅读全文
摘要:G link 总之纪念一下赛时G。 经典标记永久化,可惜我之前不会标记永久化,于是在赛时自己推导了(发明了)一种算法,赛后才知道是标记永久化。 建一棵线段树,考虑没有撤销操作的情况。 显然,一次操作代表一个区间所有数不能小于 ,于是我们将线段树上包含在区间内的节点标记上 ,如果之
阅读全文
摘要:upd on 2024.2.23:才发现我是 sb,证了些什么玩意。(交换处证反) 对于这道题,我们只来证明贪心的正确性,并不探究推导过程(这么玄学的贪心真有人能推导出来吗)。 我们需要证明按照 是最优的。 现在,我们钦定序列按照 \(l_i\times r_i\
阅读全文
摘要:本文参考《算法竞赛》。 笔者初次接触 Floyd 是在 zhx 的课上,感觉 zhx 并没有从算法本质出发来解释 Floyd,于是有了这篇文章。 我们都知道 Floyd 的状态设计和转移方程,下面给出转移方程: \[dp_{k,i,j}=\min(dp_{k-1,i,j},dp_{k-1,i,k}+
阅读全文
摘要:A link 模拟即可。 #include<bits/stdc++.h> #define int long long template<typename T> void read(T &x){ int f=1; char c=getchar(); x=0; while(c<'0'||c>'9'){
阅读全文
摘要:link 官方题解一如既往胡说八道 引子 该部分将介绍计算几何的一些基本知识,均可在《算法竞赛》第八章计算几何部分找到。 斜率 对于一条直线,设直线上两点为 ,则我们称其斜率为 。斜率可以刻画一条直线的倾斜程度,越靠近 \(
阅读全文
摘要:一眼拓扑排序。 但是发现可以同时做多件杂务,这就需要我们考虑好每件杂务的完成时间。显然,一件杂务要开始做,一定是该杂务的准备都完成,所以开始时间应该选择准备中最晚的完成时间。 怎么处理这个时间? 考虑一件杂务的“入度”是怎么变成 的,显然是队列中靠前的准备杂务到后面的准备杂务不断减小入度
阅读全文
摘要:A link 模拟。 B link 模拟指针。 C link 记忆化搜索。 时间复杂度证明可以从一个奇数分多遍以后只会有两种数这一角度入手。 D link 由于每次只能选择一种,于是可以将选择变成连边,进行最短路。 E link 线段树入门。取余操作本身就是一个环。 注意题目中的操作是从 \(0\s
阅读全文
摘要:庆祝一下全写的正解。 赛时 1h A~E,罚坐 1h,以为 dfs 找环复杂度巨大导致没有 F。 A link 找最左边和最右边的'B'即可,注意找不到时的处理。 #include<bits/stdc++.h> #define int long long template<typename T> v
阅读全文
摘要:图论 割点,割边 如果删去一点,整个图的连通块数量增加,即是割点。 只有环上的边不是割边。 tarjan dfs 树上不存在横叉边,只有反祖边。 判断一点是否是割点 对于一点,判断它的子树中是否有能连接到该点上方的返祖边。 记录 代表子树中能回溯到的最小的 dfn 值。 判断:\
阅读全文
摘要:本文将尽量包含所有省选范围内的数学知识。 本文会涉及到的数学模块: 基础数学 初等数论 排列组合 概率与期望 线性代数 多项式相关 博弈论 前置知识 进制转化 相信读者已经掌握了最基本的进制转换方法,接下来将简单说明十进制转换二进制的正确性。 对于十进制数 ,我们会将 作为
阅读全文
摘要:讲师:杨宁远,NOI2022Au,rk20,from 成都七中 DS STL LCA(倍增、欧拉序、四毛子优化欧拉序) 四毛子 笛卡尔树(四毛子求RMQ) 二叉堆 启发式合并 左偏树 树状数组 线段树 哈希 字典树 Splay Treap 替罪羊树 list auto 定义指针。 *i 访问元素。
阅读全文