1.manacher,
枚举回文中心可以计算出所有的回文串个数
2.容斥,所有的回文串对数-不相交的对数
因为这样便于划分成区间处理。
而直接相交处理不容易。
3.枚举分界点统计
①
c[x][0]以x开始的回文串个数,c[x][1]以x为末尾的回文串个数
这两个可以区间加,差分处理。
pre[x],c[x][1]的前缀和
②
对于枚举的分界点i(2<=i<=n) ,ans-=pre[i-1]*c[i][0]
根据回文串开始和结束位置的唯一性,这样一定不重不漏。
1.manacher,
枚举回文中心可以计算出所有的回文串个数
2.容斥,所有的回文串对数-不相交的对数
因为这样便于划分成区间处理。
而直接相交处理不容易。
3.枚举分界点统计
①
c[x][0]以x开始的回文串个数,c[x][1]以x为末尾的回文串个数
这两个可以区间加,差分处理。
pre[x],c[x][1]的前缀和
②
对于枚举的分界点i(2<=i<=n) ,ans-=pre[i-1]*c[i][0]
根据回文串开始和结束位置的唯一性,这样一定不重不漏。