对反HACK的解释
查看原帖
对反HACK的解释
557754
Kalenist楼主2023/5/17 20:23

被Hack的可能原因:

  1. 直接枚举区间转移可能会导致前缀、后缀DP数组不单调。如最左边有三个重合的[1,2],那么枚举区间f[2][1~2]均取不到,只有到f[2][3]时才能取完整个区间,导致f,g不单调。
  2. 利用单调指针统计时可能漏最优解(暂未找到例子)。

解决方案:

  1. 记录prep[i][j]表示右端点在i的至少包含j个活动的区间的最大左端点,通过枚举一次选多少个活动来转移。sufp类似。
  2. 统计两次。一次cnt给f[i][k]+g[j][h],另一次给k+h。

Unhacked代码见上一帖。

2023/5/17 20:23
加载中...