Notes
-
NOI 系列赛常见技术问题整理
-
约数个数估算 即
d(n)=O(n^{\frac 1 3}) -
二分为了包含L,R左右端点,可令初始L=MIN-1,R=MAX+1
-
本地调试防爆栈小技巧
工具 --> 编译选项 --> 编译器 --> 在连接器命令行加入以下命令:
-Wl,--stack=128000000
(近似128MB) -
主定理
-
map在[]访问一个元素的时候,如果元素不存在则创建一个,不注意可能MLE
-
NOI Linux下用终端编译加上 -fsanitize=address,undefined 自动查RE、UB,若用code::blocks在链接器加上 -lasan -lubsan 数组越界直接 RE,有符号整数溢出直接 RE,返回值不为 void 的函数不 return 就返回直接 RE...能告诉你错在了第几行
-
NOI Linux不要直接在桌面上写程序,中文目录会导致无法编译
-
刷Uva的题一定要注意输出格式!
-
c++用逗号分隔的语句从左到右执行,不会有ub
-
-Wall -Wextra -Wshadow
还有“消毒水”
地址错误:-fsanitize=address
内存错误:-fsanitize=memory
内存泄漏:-fsanitize=leak
未定义行为:-fsanitize=undefined
- 写线段树或其他涉及很多递归的ds时,考虑是否可以将很多递归的变量记录下来,可以减小常数。