没能自己想出来..不过还是有所长进
1.题目的一些性质,如果对ij区间刷过一次了,那么以后再刷的时候,只能刷ij之外的或者单纯ij之内的了,如果和ij相交的话,那等于ij多刷了一部分,在其他情况中会考虑到
所以就打算这么刷,这么做的话,A[I][J][K]表示ij段是k字母,要变成s2所需要的费用,但是状态转移的时候,要考虑下一次刷的区间,就会导致转移到的状态太多,最好是枚举分割点转移到分割的两片中,首先一定是分成两块,最边上一定有一块是本来的颜色,所以转移到的状态数应该是100*26,复杂度有点高啊。。。
这里要着重思考的是,当刷了一块区间之后,怎么样才能使刷的不白费?至少有一个端点是有用的?
2.百度的题解,先用dp算白板到答案的种类,因为是白板,不用考虑那么多字母,转移时间只有N^3,然后考虑白板和s1的区别(s1有部分已经和s2一样,再考虑怎么转移)
好难啊!
不码代码了,思维差太多