正解:状压dp
解题报告:
是个好题,可以积累套路启发性强,而且很难
!!!哇我哭死辣,打了半天然后电脑突然关机了QAQ从此学会随手保存QAQ
算了反正反正学懂了打起来应该挺快的QAQ
ummm那这题因为没太懂所以和之前做疫情控制一样分几个板块慢慢梳理趴qwq
首先要确定这题用什么方法?
不要说是已经看到题解说用状压dp辣!
正儿八经说,如果没有题解,怎么思考这道题
关键点大概是在n<=20这个事儿,看到20应该就要敏感了,这个就很,状压dp是趴
好滴积累套路一:20这个范围很有可能是状压dp可以往上面想下
然后确定方法之后就一步步思考,先把题目描述给一点点扣了
首先碰到第一坑点:绝对值
这一个又是一个,典型套路!就是,如果我们按部就班地一点点考虑,我们完全没有办法搞绝对值这个小妖精
但是如果它不是绝对值,就单纯的+-还是有点可做性的感觉的?那我们就可以考虑去除绝对值
想到去除绝对值大概就会有点感觉了——按照大小顺序确定!不就可以直接解决绝对值了嘛!
好滴那套路二来啦:如果碰到绝对值的问题可以考虑从小到大or从大到小考虑然后就可以直接把绝对值删了
那我们现在就相当于是,从小到大考虑每个数在pi中的位置,然后再一点点做
恩然后按照状压dp的套路我们就可以得到肯定是设fi表示状态i的minans咯,考虑怎么转移
先考虑每确定pi中的一个数会有什么贡献
显然对于长度为m的那个序列中的每个数它只会对它左右的数造成贡献,并且因为我们为了消除绝对值是从小往大考虑的所以我们只要考虑每个数对于已经确定了的左右的数造成的贡献
然后我们可以预处理出来贡献的
下课了回去写?
umm也许就不写了咕咕咕