摘要:
首先1与i交换,n与i交换,i与i+1交换的可以$O(n)$算出。然后只需要考虑i与x交换(11)。设a[i]=h[i-1]b[i]=h[i+1]f[i]=|h[i-1]-h[i]|+|h[i+1]-h[i]|c[i]=min(a[i],b[i])d[i]=max(a[i],b[i])则交换i与x对... 阅读全文
摘要:
将多边形转化为如下的环:1到2的边,角2,2到3的边,角3,...,n-1到n的边,角n,n到1的边,角1然后枚举对称轴,如果i是对称轴,那么[i-n,i+n]是一个回文串用Manacher算法实现即可。时间复杂度$O(n)$。#include#define N 100010typedef long... 阅读全文