BNU 34990 字串題目

2021-07-07 06:17:23 字數 868 閱讀 9855

題意:

給定兩個串(串長都小於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...