为区间内所有子序列的回文值总和。 根据两个端点 和 的包含情况来划分区间的所有子序列。 则有四种子序列,(0表示不包含, 1表示包含):。 将四种子序列的和加起来就是区间所有子序列的总和。 [0, 0]:两端为这种情况的总和比较好求,因为两端不用考虑,所以直接就是 。 [1, 1]:首先它是包含 。 和 一样就没贡献,否则加上 . [0, 1] 和 [1, 0]:这种发现当前的dp状态表示不出来,因为没办法保证其中一个端点必选和必不选的情况,所有要给dp添加状态,见代码。 #include <bits/stdc++.h> using namespace std; usin...