字串專題測試1 題解

2022-03-16 19:18:57 字數 515 閱讀 2720

顯然只要對位合併,最後查詢不同的集合數就好了。

似乎聽過乙個叫倍增並查集的東西,然而考場上沒有$yy$出來。

$f_$表示點$i$以及$i$往後數$2^k$個元素共同被合併的祖先。

對於合併操作,直接用st表的思路合併即可。

考慮最終的下傳操作:

列舉倍增的次冪數,設$i$向後$2^k$個元素的祖先為$f$。

因為並查集美妙的性質,在$2^$個元素意義下只要分別合併$i$與$f$,$i+2^$與$f+2^$就好了。

題意不清,就沒什麼好說的。

$n$個不同的數劃分到若干個集合的方案數。

一行第二類斯特林數的和,即貝爾數。

有遞推公式$b_=\sum \limits_^n \binomb_i$。

即欽定最後乙個元素劃分在最後乙個集合中,選出一些元素劃分為若干個集合,剩餘的元素與最後乙個元素劃分在一起。

容易發現這個玩意是卷積式,分治fft就好了,當然用生成函式搞一搞之後多項式求逆也是可以的,當然直接用二項式反演求一行斯特林數搞也是可以的。

字串專題測試

t1 如果兩個串相同,那麼就是乙個串的每一位和另一串相同,用並查集維護這種限制關係,最後並查集的聯通塊個數就是可以隨意選字元的位置數 26 優化的並查集 倍增並查集。像維護線段樹一樣,對於每次合併 l1,r1 l2,r2 拆分為 2 j 合併倍增節點 l1,j l2,j 最終把每個大塊下傳給其包含的...

字串專題

created on 2019年12月1日 author hp 擷取字串 str2 我是迪迦奧特曼 str3 str2 5 str4 str2 0 len str2 2 print str3,str4 擷取的字串如果不存在,會出現異常,可以用try.except捕捉異常 try str5 str2 ...

字串專題

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被視作不同的子串。示例1 輸入 abc 輸出 3 解釋 三個回文子串 a b c 示例 2 輸入 aaa 輸出 6 解釋 6個回文子串 a a a aa aa aaa 解法 1 動態...