社区讨论
序列分块卡常建议
P5397[Ynoi2018] 天降之物参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mk4vlf7f
- 此快照首次捕获于
- 2026/01/08 11:16 上个月
- 此快照最后确认于
- 2026/01/10 20:15 上个月
1.内存访问:把大数组换成 unsigned short/uint16_t 类型,把 的值域压到 ,把 映射到 上(预处理映射),交换数组两维的顺序使得访问连续。尽力卡进 L3 cache,以提高内存命中率。
2.块长:手动三分找最优的块长,在做完优化后建议重新找最优块长。
3.循环展开:主要对于 query 这种循环次数固定,内存访问较小的循环。建议只对完全符合条件的循环进行展开,使用 C++ 自带的
#pragma GCC unroll 8 自动展开。4.快读快写:参考 OI Wiki。
5.inline:只对一些调用次数多的小函数加上该关键字。
6.C++ 版本:不要用 C++14(GCC 9),建议用 C++23。
7.评测机波动:如果只差 1-2 个点,多交几发应该就过了。建议在评测量较小的时候进行提交(如凌晨或工作日上午)。
回复
共 0 条回复,欢迎继续交流。
正在加载回复...