/**************************************************************
Problem: 5286
User: zjp_shadow
Language: C++
Result: Accepted
Time:3472 ms
Memory:17080 kb
****************************************************************/#include<bits/stdc++.h>#define For(i, l, r) for(int i = (l), i##end = (int)(r); i <= i##end; ++ i)#define Fordown(i, r, l) for (int i = (r), i##end = (int)(l); i >= i##end; --i)#define Set(a, v) memset(a, v, sizeof(a))usingnamespace std;
inlineboolchkmin(int &a, int b){ return b < a ? a = b, 1 : 0; }
inlineboolchkmax(int &a, int b){ return b > a ? a = b, 1 : 0; }
inlineintread(){
int x = 0, fh = 1; char ch = getchar();
for (; !isdigit(ch); ch = getchar()) if (ch == '-') fh = -1;
for (; isdigit(ch); ch = getchar()) x = (x * 10) + (ch ^ 48);
return x * fh;
}
int n, m, p;
constint N = 1e5 + 1e3, inf = 0x3f3f3f3f;
#define lson o << 1, l, mid#define rson o << 1 | 1, mid + 1, rstructSegment_Tree {
int maxv[N * 20], minv[N * 20];
intQuery(int o, int l, int r, int qr, int qv){
if (l == r) returnmin(l + max(maxv[o], qv), l == qr ? inf : l + 1 + qv);
int mid = (l + r) >> 1;
if (qv >= maxv[o << 1 | 1]) returnQuery(lson, qr, qv);
returnmin(minv[o], Query(rson, qr, qv));
}
voidUpdate(int o, int l, int r, int up, int uv){
if (l == r) { maxv[o] = uv; return; }
int mid = (l + r) >> 1;
if (up <= mid) Update(lson, up, uv); elseUpdate(rson, up, uv);
maxv[o] = max(maxv[o << 1], maxv[o << 1 | 1]);
if (l <= n) minv[o] = Query(lson, mid, maxv[o << 1 | 1]);
}
} T;
int ans;
intmain(){
n = read(); m = read(); p = read();
For (i, 1, n) {
int val = read();
T.Update(1, 1, n * 2, i, val - i);
T.Update(1, 1, n * 2, i + n, val - (i + n));
}
int x = 0, y = 0;
For (i, 0, m) {
if (i) x = read() ^ (p * ans), y = read() ^ (p * ans);
if (x) T.Update(1, 1, n * 2, x, y - x), T.Update(1, 1, n * 2, x + n, y - (x + n));
ans = T.minv[1] + n - 1;
printf ("%d\n", ans);
}
return0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】