武辰延的字串
賽時沒想到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個人當中,最遠的那...