problem:擴充套件kmp求字串最小迴圈節
analyse:
字串迴圈節等於字串最長字首字尾減去這個字首字尾中間交的長度。
/**********************jibancanyang**************************
*author* :jibancanyang
*created time* : 六 5/ 7 21:17:06 2016
*file name* : hdu1010.cpp
**code**:
***********************[email protected]**********************/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef pair pii;
typedef
long
long ll;
typedef
unsigned
long
long ull;
vector
vi;
#define pr(x) cout << #x << ": " << x << " "
#define pl(x) cout << #x << ": " << x << endl;
#define pri(a) printf("%d\n",(a));
#define xx first
#define yy second
#define sa(n) scanf("%d", &(n))
#define sal(n) scanf("%lld", &(n))
#define sai(n) scanf("%i64d", &(n))
#define vep(c) for(decltype((c).begin() ) it = (c).begin(); it != (c).end(); it++)
const
int mod = int(1e9) + 7, inf = 0x3fffffff;
const
int maxn = 1e6 + 13;
char t[maxn], s[maxn];
int nexts[maxn], extend[maxn], slen, tlen;
//計算next陣列,儲存到next引數中。
void getextendnexts(void)
else nexts[i] = nexts[i - a];
}void getextend (void)
else extend[i] = nexts[i - a];
}int main(void)
}pri(ans);
}return
0;}
hdu 1010 深搜 回溯
也不想解釋了,只是做來找回做題的感覺。遲d出個這方面的小總結,越來越發現對所學知識作總結的重要性了 1010tempter of the bone include includeint n,m,time int xs,ys,xd,yd int direc 4 2 char str 11 11 boo...
HDU 1010 深度搜尋問題
杭電acm 1010 題意 能否在 恰好t步時 從s點到達 d點,每個點只能走一次,x是障礙。注意不能提前到達,必須在t步時到達 我用的深度搜尋dfs,最重要的是超時問題。這裡涉及到乙個剪枝,我在網上看到的奇偶剪枝。m n的 0,1 矩陣 0,1,0,1,0 1,0,1,0,1 0,1,0,1,0 ...
HDU1010 奇偶剪枝 DFS
第一次做剪枝的題目,剪枝,說實話研究的時間不短。好像沒什麼實質性的進展,遇到題目。絕對有會無從下手的感覺,剪枝越來越神奇了。hdu1010一道剪枝的經典題目,自己當初想用bfs過。提交了10幾遍wa,後來查了是剪枝最終死心了 ps 第一次寫剪枝題目,用了乙個模擬地圖來做奇偶性的判定條件進行剪枝,大牛...