怎样解题
数据结构
- 加入的元素单调:队列代替堆 [NOIP2004提高组] 合并果子 [NOIP2016提高组] 蚯蚓
- 前缀询问后缀修改:维护关键前缀的答案 2021CCPC Harbin L
- 后缀操作:栈 CF1849E 2021CCPC Harbin L
询问 \([l,r]\) 信息
- 从 \([l,r-1]\) 或 \([l+1,r]\) 推出 \([l,r]\):[CSP-S2023] 消消乐 2023ICPC Hangzhou K
DP
计数
- 在一个前缀上可用且必须被用:倒序做。每个元素的状态一定是 不可用->可用->用过 百度之星2023决赛T5
图论
树
- 树链查询可减信息:树上差分 [TJOI2018] 异或
- 单点修改,根链查询 \(\iff\) 子树修改,单点查询
邻域 \(k\)
- 边权为 \(1\):bfs 序上 \(2k+1\) 个区间
字符串
- 多个串:根号分治,ACAM,广义 SAM
其他
贪心
- 如果 \(a\) 优于 \(b\),那么可以在确定选 \(a\) 后再把 \(b\) 纳入考虑:序列合并 [十二省联考 2019] 异或粽子
括号
- 左括号赋值 \(1\),右括号赋值 \(-1\),则严格前缀 \(\min\) 处的右括号不能匹配
- 同种字符即可匹配(不分左右):每种字符随机一个可逆矩阵 [CSP-S2023] 消消乐 2022CCPCF D