summeriii专题

poj 2752 (summerIII seek the name,seek the fame)

这道题真的加深了我对next数组的理解,。没想除了用在KMP上还能有这种操作。。。开始想着用其中的K的值做,因为根据定义,k代表的是最长相同的前后缀长度。。。然后不知道为什么WA。。。。后来百度了一下别人的做法恍然大悟,觉得精妙无比。就是通过递归next数组然后求得前后缀的长度。 以下为链接 点击打开链接 AC代码: #include<cstdio>#in

poj 3264 (summerIII O) j树状数组 ST表(区间最值查询)

#include<cstdio>#include<algorithm>#include<cmath>using namespace std;const int maxn= 100000+50;int n,m,a[maxn],mx[maxn][50],mn[maxn][50];//这里mx[maxn][范围内尽量取大一点]void init(){int m=floor(log((doubl