D2 1000p PalindromeFactory
邮局问题。设Dp[i][j]为从串[i,j]得到回文串的最小步数,然后进行两种操作:删除一个字符、删除两个字符。
D1 250p PalindromePhrases
所求解其实就是二进制表达时1的个数。
D1 500p PalindromePhrases
相当有技术含量的DP。
考虑ab, edcba, cd这样的情况,从外向内构造解。
ab和edcba中的ba配对之后,还剩下edc,可以和cd配对。由于只有13个元素,首先考虑到的是bitmask。确定组合后剩下的字符可以做一状态。由于配对有两个方向:如例子中的cd是正方向配对,而edcba是反方向配对,因此将方向作为状态。总状态即为:DP(string 字符串, int 方向, int bitmask)