字串hash 交換兩個字元

2021-08-13 11:50:40 字數 613 閱讀 1243

題意:給 k個字串,長度為n

是否存在乙個串 換兩個字元可以包含k個字串

正解是 n^2*k 這裡是字串hash n^2*klogk 超時,只是沒有好好做過字串hash,這裡記錄一下

#include 

using

namespace

std;

typedef

long

long ll;

const

int n = 5010;

ll p[n],h[n],w[n];

char s[n>>1][n];

ll seed = 20123;

int k,n;

ll rnd()

unordered_map

int> f,mp;

ll solve(int i,int x,int y)

//unordered_map

void work()}}

}for(int x=1;x<=n-1;x++)}}

puts("-1");

exit(0);

}int main()

work();

}

交換兩個字串

交換兩個字串,原來的字串分別為 學生 和 好 字串輸出顯示為 學生好 交換後輸出顯示為 好學生 include using namespace std int main char c1 5 學生 char c2 3 好 char m,n,t m c1 n c2 cout 交換前 m n n t co...

連線兩個字串

include include void main char lianjie char a 30 char b 30 原型 extern char strcat char dest,char src 用法 include 功能 把src所指字串新增到dest結尾處 覆蓋dest結尾處的 0 並新增 ...

兩個字串相乘

先附上一張演算法圖 解釋 123 456 首先拿出1和456相乘,儲存到陣列1 2 3 的位置,然後拿出2和456相乘2 3 4的位置,依次類推,直到第乙個字串遍歷完 然後將他們相加,依次存到陣列中 實現如下 int j 0 int resindex 0 for int i 0 i然後再考慮進製,需...