BZOJ1414 对称的正方形
OTL写manacher的mhy。 我没有那么高端去研究st怎么搞,所以就用了一个二维hash。从四个角各来一遍真是爽翻了。需要注意的是hash的时候行之间和列之间的值要不同才能区别,不然有数据随便可以卡掉。 代码么,巨丑无比。 #include <cstdio> #include <cctype> #include <memory.h> #include <algorithm> using namespace std; #define uint _uint_ typedef unsigned long long int uint; const int maxn = 1009; const uint bh = 1e9 + 93; const uint bv = 1e9 + 7; #define readInt(_s_) {\ int _d_;\ _s_ = 0;\ while (!isdigit(_d_ = getchar()));\ while ((_s_ = _s_ * 10 + _d_ - 48), isdigit(_d_ = getchar()));\ } int n, m, a[maxn][maxn]; uint h[4][maxn][maxn], ph[maxn * 2], pv[maxn * 2];...