CF競(jìng)賽題目講解_CF213E(線段樹(shù)+hash)
2022-06-06 11:05 作者:Clayton_Zhou | 我要投稿
// https://codeforces.com/contest/213/problem/E
//? 線段樹(shù)+hash
// 首先我們可以知道A序列是1~n的排列,那么我們可以先在B序列中把1~n的排列找出來(lái),看其相對(duì)位置是否與A相同(hash可做),相同即表明存在一個(gè)d=0滿足條件。
// 以此類推,我們接下來(lái)可以把B中 2~ n + 1的排列找出來(lái),如果其每位-1后相對(duì)順序還是與A序列一致,即存在d=1也滿足。。。
// 線段樹(shù)中保存一個(gè)長(zhǎng)度為n的序列的hash。
// hash函數(shù)值:? a[1]*23^(n-1) + a[2]*23^(n-2) + a[3]*23^(n-3)+? ......? ?
?
// 一個(gè)線段樹(shù)例子
// https://www.bilibili.com/video/BV1G3411s7Gb?spm_id_from=333.999.0.0
標(biāo)簽: