字串hash 洛谷P1117 優秀的拆分

2021-08-02 08:59:24 字數 484 閱讀 1802

這裡講一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...