1 条题解
-
0
自动搬运
来自洛谷,原作者为

w33z8kqrqk8zzzx33
**搬运于
2025-08-24 22:37:38,当前版本为作者最后更新于2025-01-10 15:19:38,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
通过一系列转换问题变成:对于 以及一个形如 的点集,如何用 字节预处理出 统计 。
而 是一个差 ,, 。对于 可以算出 前缀和以及 得到 的大小, 同理。
因为 可以把所有信息压到一个
ulong里面,每一个集合使用 字节预处理,总共使用 字节。long long solve(int l, int r) { long long c = 1ll * LOGN * (r - l + 1); if (l) { for (int b = 0; b < LOGN; b++) { int bo; bo = max(l, min(r + 1, (int)(maxL[l - 1][b]&1048575))); c += (maxL[r][b]>>20) - (maxL[bo - 1][b]>>20) + 1ll * (l - 1) * (bo - l); bo = max(l, min(r + 1, (int)(minL[l][b]&1048575))); c -= (minL[r][b]>>20) - (minL[bo - 1][b]>>20) + 1ll * l * (bo - l); } } else { for (int b = 0; b < LOGN; b++) c += (maxL[r][b]>>20) - (minL[r][b]>>20); } return c; }
- 1
信息
- ID
- 7227
- 时间
- 1370ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者