alg2025/README.md
Zengtudor de497e2c80 docs: 更新README添加P6476题解易错点
添加P6476题解中的四个关键易错点说明,包括循环顺序、清空操作优化、下标偏移处理以及状态转移公式注意事项
2025-10-11 12:13:40 +08:00

32 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 算法笔记
## P6476 题解易错点
1. **循环顺序**dp注意必须从遍历顺序i从n-2递减正向遍历会导致状态转移错误
2. **清空操作优化**每次使用后需要清空tot数组但直接memset会超时改用标记数组记录修改位置
3. **下标偏移**结构体T使用of常量处理负数下标数组大小需要*2
4. **状态转移公式**注意容斥原理的应用dp[i][j] = 当前三元组数 + 子区间累计值 - 重复部分
## 线性动态规划优化为$O(n\log{n})$方法
>如果是递增序列就lower_bound
>如果是递减序列就手写二分
## 区间dp
### 步骤
1. 根据问题推出dp含义
2. 根据规则写出dp的状态转移公式
3. 处理边界问题
> dp[i][j], dp[0][0], dp[i][0], dp[0][j], dp[i][i], dp[j][j]
###
1. 编辑距离 i-1,j i,j-1
2. 合并石子 1~k,k+1~i
3. 网捉蛇 1~k用j-1, k+1~i用1
## 超时优化的三种方法
1. 预处理(排序最常用)
2. 二分
3. 数学方法
## 阅读程序的三个步骤
1. 通读程序
2. 通过样例模拟带入样例,特殊值代入法