ABC344G 题解
题意
给定
题解
首先这个式子是
这个序列显然不能在线维护,考虑离线。离线后对
然后这道题就可以做了。首先将询问按
code:
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
using i64 = long long;
using ld = double;
const int N = 5E3 + 5, Q = 1E7 + 5, MOD = INT_MAX;
const ld eps = 1E-6;
int n, q, posi[N], pposi[N];
i64 g[Q << 2], ra, rb;
struct pos {
i64 x, y;
bool operator < (const pos &w) const {
return x == w.x ? y < w.y : x < w.x;
}
} a[N];
struct que {
i64 a; i64 b;
bool operator < (const que &w) const {
return a < w.a;
}
} b[Q];
struct node {
i64 X, Y;
int x;
bool operator < (const node &w) const {
i64 l = X * w.Y;
i64 r = Y * w.X;
if (l < r) return false;
if (l > r) return true;
return x > w.x;
}
node (i64 a, i64 b, int c) {X = a, Y = b, x = c;}
} ;
priority_queue <node> pq;
void push(int x) {
if (x <= 1 || x >= n + 1) return ;
if (a[x - 1] < a[x]) pq.emplace(node(a[x].y - a[x - 1].y, a[x].x - a[x - 1].x, x));
}
signed main(void) {
ios :: sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; ++i) cin >> a[i].x >> a[i].y;
cin >> q >> g[0] >> ra >> rb;
for (int i = 1; i <= 3 * q; ++i)
g[i] = g[i - 1] * 48271 % MOD;
for (int i = 1; i <= q; ++i) {
b[i].a = -ra + g[3 * i - 2] % (2 * ra + 1);
b[i].b = -rb + (g[3 * i - 1] * MOD % (2 * rb + 1) + g[3 * i]) % (2 * rb + 1);
}
sort(b + 1, b + 1 + q); sort(a + 1, a + 1 + n);
for (int i = 2; i <= n; ++i) push(i);
i64 sum = 0;
for (int i = 1; i <= q; ++i) {
int A = b[i].a;
while (!pq.empty()) {
i64 X = pq.top().X, Y = pq.top().Y; int x = pq.top().x;
if (X != a[x].y - a[x - 1].y || Y != a[x].x - a[x - 1].x) {pq.pop(); continue;}
i64 l = X, r = 1LL * Y * A;
if (l >= r) break;
pq.pop(); swap(a[x - 1], a[x]);
push(x - 1); push(x + 1);
}
int l = 1, r = n + 1;
while (l < r) {
int mid = (l + r) >> 1;
auto check = [&](int k) {
return a[k].y >= 1LL * a[k].x * A + b[i].b;
} ;
if (check(mid)) r = mid;
else l = mid + 1;
}
sum += n - l + 1;
}
cout << sum << '\n';
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具