题解:P3867 [TJOI2009] 排列计数
求邻项差
考虑一个经典的连续段 trick:从
- 新建一个段。
- 拼在原有的段的左右。
- 将两个相邻的段用一个数字拼起来。
具体见CF1515E。
发现这道题也可以这样刻画,并且我们只关心段两端的数的值。容易想到直接维护当前所有段的左右端点值。这道题分四种情况:最终序列中,左右端点都不确定,左端点确定,右端点确定,左右端点都确定。发现每种情况的连续段的形态都是固定的,可以直接用一个
所有可转移的状态用 vector 储存即可,转移 这算爆标了吗。