題意:
給定兩個串(串長都小於1e5) , 從第乙個串0位置開始如果該位置開始與第二個串「匹配」(至多兩個位置字母不同) , 記為乙個可行點, 那麼求最小可行點。
分析:直接列舉位置,我們發現當前被列舉的點,有乙個確定性因素,即把該點當做了起始匹配位置(這一點非常重要),那麼最長會有多長哪,貪心的想法想一下,即可。
#include using namespace std;
typedef long long ll;
typedef unsigned long long llu;
#define clr(a , x) memset(a , x, sizeof(a));
#define rep(i , n) for(int i=0; i<(int)n ; i++)
#define rep1(i , x, y) for(int i=(int)x;i<=(int)y;i++)
#define repd(i , y ,x) for(int i=(int)y;i>=(int)x;i--)
const int n = 1e5 + 100;
const llu base = 123;
llu ha1[n] , ha2[n] ,pow[n];
char s1[n],s2[n];
llu get(llu* s , int i,int len)
int n,m;
llu cal(int i, int j)
return x-1;
}void init()
int solve()}}
return -1;
}int main()
return 0;
}
題目1490 字串鏈結
時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 63 解決 35 題目描述 不用strcat 函式,自己編寫乙個字串鏈結函式mystrcat char dststr,charsrcstr 輸入 兩個字串,字串由小寫字母組成。輸出 鏈結後的字串 樣例輸入 hello world good...
南陽題目915 字串
時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。輸入多組測試資料 每組資料有兩...
題目1165 字串匹配
時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 4551 解決 1624 題目描述 讀入資料string 然後讀入乙個短字串。要求查詢string 中和短字串的所有匹配,輸出行號 匹配字串。匹配時不區分大小寫,並且可以有乙個用中括號表示的模式匹配。如 aa 123 bb 就是說aa1bb...