這裡講一95分的演算法;
就是用字串hash取搞;
怎麼弄呢?
我們列舉aa
所有的aa
用字串hash取判斷a和a是否相同;
然後記錄aa的開頭位置和結尾位置;
然後乘法原理統計答案就好了;
#include
#define pow ****
#define ll long long
using
namespace
std;
const
int n=2e3+5;
ll a[n],b[n],hush[n],pow[n];
ll s=999983,mo=1e8+9,ans;
int n,m;
char c[n];
ll get(int x,int y)
int main()
}
洛谷P1117 棋盤遊戲
在乙個 4 4 的棋盤上有 8 個黑棋和 8 個白棋,當且僅當兩個格仔有公共邊,這兩個格仔上的棋是相鄰的。移動棋子的規則是交換相鄰兩個棋子。給出乙個初始棋盤和乙個最終棋盤,請找出乙個最短的移動串行使初始棋盤變為最終棋盤。輸入前四行,每行 4 個數字 1 或者 0 描述了初始棋盤 接著是乙個空行 第六...
洛谷 P3375 KMP字串匹配
題目描述 給出兩個字串s1和s2,其中s2為s1的子串,求出s2在s1中所有出現的位置。為了減少騙分的情況,接下來還要輸出子串的字首陣列next。輸入輸出格式 輸入格式 第一行為乙個字串,即為s1 僅包含大寫字母 第二行為乙個字串,即為s2 僅包含大寫字母 輸出格式 若干行,每行包含乙個整數,表示s...
字串變換(洛谷P1032 BFS Hash)
題目描述 這道題實際上就是給你乙個字串,然後給你一些變換規則,問最小需要多少步數可以到達最終的那個字串 這道題呢,實際上是不應該用stl的,因為畢竟2011年stl才解禁,於是寫了乙個hash來代替set,目的是使乙個子串不重複進隊 但考慮到佇列不好實現,便沒有手寫佇列 直接上 include de...