加载头像
生活明朗
万物可爱。
998244353.best
Java
Docker
Photoshop
Node
Webpack
Pinia
Python
Vite
Flutter
Vue
React
CSS3
JS
HTML
Git
Apifox
Java
Docker
Photoshop
Node
Webpack
Pinia
Python
Vite
Flutter
Vue
React
CSS3
JS
HTML
Git
Apifox
随便逛逛
图片
2026-04-20三分算法
求单峰函数的极值点。 推荐使用黄金分割优化的三分 不止可以减少调用次数,进行常数上的优化 还可以避免大跨步的数值改变,减少由于精度导致的问题 typedef long double ld;const ld eps = 1e-10;const ld gold = (sqrtl(5) - 1) / 2;ld f(ld x) {}ld find() { ld l = -1e9, r = 1e9; while (r - l > eps) { auto midl = r - (r - l) * gold, midr = l + (r - l) * gold; if (f(midl) < f(midr)) l = midl; else r = midr; } return l;}
详情
图片
2026-04-28区间GCD分块
引言 区间GCD分块就是将前/后缀的GCD数组按照数值分块。 其数学原理是,对于任意长度的数组 ,固定其一端点后,不断向另一端延伸构成的前缀(或后缀)区间,其产生的不同 GCD 值的个数至多为 个,其中 是数组元素的最大值。 这里有两种方法,第一种是二分加st表的方法,时间复杂度为 ,第二种是离线的方法,时间复杂度为 ,解决一些问题的时候更优。 正文 例题 【题目描述】 给定一个长度为 的正整数数组 。现在有 次独立询问,每次询问给定一个整数 。对于每个询问,你需要回答:数组中有多少个连续子区间 (),满足该区间的 ? 【数据范围】 询问的 第一种做法 st表可以快速得到区间gcd。对于任意一个区间,由于区间中的前/后缀gcd值最多只有 种,因此,我们可以二分查找前/后缀gcd值相同的边界,二分的时间复杂度是 。 对于例题,我们可以枚举所有的区间左边界,然后对前缀gcd进行分块,找到gcd值为 的右端点区间,得到答案。 第二种做法 这种做法有点像第一种做法的逆向思维,它不是固定一个点不动,然后让其往一个方向蔓延来找区间,而是一个一个的将点加入进已经分好的块中。 ...
详情
图片
2026-08-27差分约束
差分约束系统 是一种特殊的 元一次不等式组,它包含 个变量,以及 个约束条件,每个条件是有两个变量做差构成的,形如 . 我们要解决的问题是:求一组解,使得所有的约束条件得到满足,否则判断出无解. 1. 变形 差分约束系统中的每个约束条件: 都可以变形成: 2. 转化 接下来,思考一个图论的问题。 dist[i] 是从起点到 地的最短距离 dist[j] 是从起点到 地的最短距离 是从 地到 地的路线长度(边权) 则 是必然的,否则 dist[i] 就不是最短的距离。 所以,在最短路算法中,其本质工作就是检查所有的边,确保图中所有的边都满足 这个条件。 到这里,我们发现这两个式子格式完全一样,但是虽然两者代数关系相同,但是想直接关联起来还是比较抽象。 我们不妨画一张这样的图,虚构一个不存在的“起点”,连一条虚边指向 ,边权为最短路 dist[i] 的值。 于是,根据单源最短路的定义,我们轻易知道,最短路不成立的情况就是有负环的情况。 所以对于不等式: 可以连接从 到 的一条边,连接所有不等式构成的边,构建出最后的图。 3. 实现 可以用 SPFA 来 ...
详情
图片
2026-04-20曼哈顿距离与切比雪夫距离
曼哈顿距离(Manhattan Distance) 解释:只能横着或竖着走,坐标上两点的距离。 假设存在两点 和 ,则: 对于上方求曼哈顿距离的式子,有四种情况: 观察发现,上方四种情况中反复出现了两个值 和 。 发现对于四种情况,曼哈顿距离也就是: 例题应用 求到所有定点的最大曼哈顿距离最小: AtCoder ABC 178 E Codeforces 1689 D 切比雪夫距离(Chebyshev distance) 解释:各坐标数值差绝对值的最大值。 假设存在两点 和 ,则: 这时忽然发现,之前曼哈顿距离得出的结论: 与切比雪夫距离的形式非常相似!并且如果将 A,B 两个点的坐标换成 与 ,这两个点的切比雪夫距离刚好等于 与 的曼哈顿距离。 那么可以得到另一个结论: 曼哈顿距离转切比雪夫距离 转化为 新坐标系下的切比雪夫距离,即为原坐标系下曼哈顿距离。 由上边的结论反向推导一下,得到了: 切比雪夫距离转曼哈顿距离 转化为 新坐标系下的曼哈顿距离,即为原坐标系下切比雪夫距离。 上方的例题中,正是利用了这个原理: 将曼哈顿距离转为切 ...
详情
博客快捷键
shift K
关闭快捷键功能
shift A
打开/关闭中控台
shift M
播放/暂停音乐
shift D
深色/浅色显示模式
shift S
站内搜索
shift R
随机访问
shift H
返回首页
shift F
友链鱼塘
shift L
友链页面
shift P
关于本站
shift I
原版/本站右键菜单
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體