专题记录

dp

  • A。
  1. 括号序列 trick(序列赋值)

  2. 最大子段和 dp 模型。

  • B。
  1. 异或恒等式(\(a+b=a \oplus b+2(a \And b)\))

  2. 统计满足要求的数对——数位 dp。

  • C。
  1. 推式子技巧(拆绝对值、拆求和)

  2. 看到乘积形式与最小(大)化——完全背包模型。

  • D。
  1. 正难则反思想。

  2. 设计 dp——贴着 \(i\) 的区间(这句话可能有点抽象,感受一下)。

计数

  • B
  1. 正难则反思想。

  2. 利用单调性,用数据结构维护。

反悔贪心

步骤:

  1. 思考局部最优策略。

  2. 建立反悔机制(即向堆中插入什么,比如虚拟权值)。

注意:

  1. 排序规则。

  2. 用大根堆还是小根堆还是其他的。

  3. 连续反悔。

  • P2949

任务调度模型:按照右端点排序,维护 cnt 表示最大时间,若不能完成当前任务(time<cnt)则取出堆中最小值反悔。适用于从前往后的贪心。

  • P1484

种树模型:每次种一棵树就反悔到相邻的两棵,为了处理连续反悔,将每 3 棵进行打包,用链表维护。适用于连续段贪心。

  • P10478
  1. 序列赋值。

  2. 缩点技巧(将相邻相同元素看成一个元素)。

posted @ 2026-09-27 00:54  _KidA  阅读(3)  评论(0)    收藏  举报