牛客寒假集訓營第四場B字串雜湊 二分

2021-10-19 17:38:10 字數 1828 閱讀 1820

武辰延的字串

賽時沒想到hasho(1

)o(1)

o(1)

判斷列舉s1,二分s2長度,利用hash判斷兩字串相等。

ac**:

/*

* @author: hesorchen

* @date: 2020-11-26 09:12:46

* @lastedittime: 2021-02-21 16:19:05

* @description: 栽種絕處的花

*/#include

using

namespace std;

const

unsigned

long

long base =

13331

;unsigned

long

long pre_pow[

100010];

string a, b;

int len1, len2;

void

pre(

)unsigned

long

long hasha[

100010

], hashb[

100010

], ans;

void

gethash()

bool

check

(int s1,

int s2)

void

getans()

else

r = mid -1;

} ans +

= res;}}

}int

main()

雙雜湊**(練習):

/*

* @author: hesorchen

* @date: 2020-11-26 09:12:46

* @lastedittime: 2021-02-21 16:26:34

* @description: 栽種絕處的花

*/#include

using

namespace std;

const

unsigned

long

long base =

13331

, base2 =

1331

;unsigned

long

long pre_pow[

100010];

unsigned

long

long pre_pow2[

100010];

unsigned

long

long hasha[

100010

], hashb[

100010

], ans;

unsigned

long

long hasha2[

100010

], hashb2[

100010];

string a, b;

int len1, len2;

void

pre(

)void

gethash()

bool

check

(int s1,

int s2)

void

getans()

else

r = mid -1;

} ans +

= res;}}

}int

main()

牛客網NOIP賽前集訓營 提高組(第四場)B區間

給出乙個序列 a 1 dots a n 定義乙個區間 l,r 是好的,當且僅當這個區間中存在乙個 i 使得 a i 恰好等於 a l,a dots a a r 的最大公因數。求最長的好的區間的長度。第一行 n,表示序列的長度 第二行 n 個數 a1,a2,an。輸出一行乙個數,表示最長的好的區間的長...

2019牛客暑期多校訓練營(第四場

a meeting 答案為最遠關鍵點的距離的一半向上取整,也就是關鍵點的樹的直徑的一半向上取整。先考慮兩個點,他倆是最遠距離,那麼最短時間就是 d 2 在此基礎上再加乙個點 前提是加上這個點,後不影響初始條件,即初始的兩個點之間的距離最遠 那麼不會影響答案,因為他與另外兩個點的相會的時間必然小於 d...

2019牛客暑期多校訓練營(第四場)A

題意 給定n個頂點,n 1條邊權為1的邊,將各個頂點連成乙個最小生成樹,再給定乙個k,表示有多少個人,每個人都在特點的乙個頂點上,現在這些人要相會,求使得這些人能夠相聚在一起的最短時間。看了標程,答案就是k個人當中那2個距離最遠的人的距離d,答案就是d 2向上取整。證明 必要性 k個人當中,最遠的那...