社区讨论
这里让我了解一件事
P3604美好的每一天参与者 5已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi7rn16g
- 此快照首次捕获于
- 2025/11/21 02:29 4 个月前
- 此快照最后确认于
- 2025/11/21 02:29 4 个月前
莫队的分块 sqrt(n) 并不一定是 最快的
我将块弄成 sqrt(n) 时 一直TLE80分
期间各种卡常,玄学优化,循环展开都用上了
没用
CPP ans += p[x^1];
ans += p[x^2];
ans += p[x^4];
ans += p[x^8];
ans += p[x^16];
ans += p[x^32];
ans += p[x^64];
ans += p[x^128];
ans += p[x^256];
ans += p[x^512];
ans += p[x^1024];
ans += p[x^2048];
ans += p[x^4096];
ans += p[x^8192];
ans += p[x^16384];
ans += p[x^32768];
ans += p[x^65536];
ans += p[x^131072];
ans += p[x^262144];
ans += p[x^524288];
ans += p[x^1048576]; //2^20
ans += p[x^2097152];
ans += p[x^4194304];
ans += p[x^8388608];
ans += p[x^16777216];
ans += p[x^33554432];
就是循环展开
后来块调成 3*sqrt(n) 就AC了
而且速度约为处理前2倍
话说是为啥呀?
或许是l在块中跑不满 m * 块的大小?
回复
共 5 条回复,欢迎继续交流。
正在加载回复...