BaoTx's Blog
目录

OI 学习经验

积累OI学习中的经验教训。

考场经验

  1. 内存不要开炸
  2. 合理分配时间

调试

编译指令: g++ -O2 -Wall -Wextra -std=c++14

调试指令:

  • g : 生成调试符号,配合报错显示精确到行的源码位置 (不加则只显示内存地址).
  • O0 : 显式禁用所有代码优化, 确保断点和报错行号绝对精准.
  • Wshadow : 检测变量名遮蔽冲突.
  • Wconversion : 检测隐式类型转换导致的精度丢失.
  • D_GLIBCXX_DEBUG : 开启 STL 容器调试模式, 捕获 STL 越界和迭代器失效.
  • fsanitize=address,undefined : 检测内存泄漏/溢出/释放后使用 + 有符号溢出/空指针(开销极大).
  • fstack-protector-strong : 轻量级栈溢出保护.

查看帮助:

g++ --help : 查看所有编译选项.
g++ --help=common : 查看最常用的编译选项.

图论算法

lca

倍增法求lca时要注意为根节点的dep赋值为 , 要注意倍增的顺序

数据结构

树链剖分

在边权转化为点权的题目中, 应当注意在最后一次操作时不能对lca操作, 其对应的边并不在操作的路径上.