摘要: 尝试解决这样一个问题:给定 \(k\) 求出 \([1, n]\) 中第一个 \(x\) 使得 \(x > k\),序列带修 一个很正常的思路:我们可以使用一棵线段树,然后二分这个 \(x\) 的出现位置 \(mid\),然后线段树上求出 \([1, mid]\) 的最大值,然后根据关系调整边界。 阅读全文
posted @ 2025-03-11 21:28 Ja_Morant 阅读(32) 评论(0) 推荐(0)
摘要: ABC396 A 按题意模拟即可 #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 5; int n, a[N]; int main() { ios :: sync_with_stdio(0), cin.tie(0); 阅读全文
posted @ 2025-03-08 23:11 Ja_Morant 阅读(97) 评论(0) 推荐(0)
摘要: A 一个很重要的性质: \(\gcd(a_1, a_2, \dots, a_n) = \gcd(b_1, b_2, \dots, b_n)\) 其中 \(b\) 为 \(a\) 的差分数组,也就是 \(b_i = a_i - a_{i - 1}\)。 这个时候就可以使用线段树维护 \(b\) 数组, 阅读全文
posted @ 2025-03-02 20:54 Ja_Morant 阅读(29) 评论(0) 推荐(0)