P3160 [CQOI2012] 局部极小值

发布时间 2023-11-15 09:13:02作者: FOX_konata

[CQOI2012] 局部极小值 - 洛谷

题目详情 - [cqoi2012] 局部极小值 - BZOJ by HydroOJ

  • 这题不值得单独写一个博客的,但我竟然没想出来,所以还是写吧 \(QwQ\)

  • 又是我不擅长的找性质。性质:从小到大填数。当一个非局部最小值周围的所有局部最小值格子都被填了数时,这个位置才能填数。

  • 然后就很简单了,状压 \(dp\) 即可

    • 设计状态:\(dp_{i,S}\) 表示填了前 \(i\) 个数,局部最小值格子的状态为 \(S\) 的方案数

    • 转移:\(dp_{i,S}=\sum\limits_{x\in S} dp_{i-1,S-x}+dp_{i-1,S}\),其中前面求和项指第 \(i\) 个数填给一个局部最小值格子的方案数,后面这项指填非局部最小值的方案数。当然注意真正实现的时候要判断每个非局部最小值格子能否被填

  • 复杂度 \(O(2^cnmc)\),其中 \(c\) 为局部最小值格子个数,显然 \(c\leq 8\)

  • 注意到非局部最小值题目要求强制不满足条件,但我们这么算是可能出现满足情况的,因此考虑再套一个容斥。

  • 我们要枚举局部最小值格子的集合,因此复杂度会多一个 \(2^d\),其中 \(d\leq 8\)

  • 最终复杂度 \(O(2^{cd}nmc)\),但是跑不满(搜索=玄学)