Biology 湖南集訓

2022-02-13 01:44:32 字數 780 閱讀 6544

題目大意:n個字串,m個操作,可以插入字串,也可以詢問某t個字串的最長字尾

題解:trie+lca

trie樹的插入與查詢操作。把字串反轉就相當於求公共字首。

lca的深度就是公共字首的長度。

**:

//

biology

include#include

#include

#define maxn 1000009

using

namespace

std;

int js,n,m,cnt,pos[maxn],deep[maxn],trie[maxn][26],dad[maxn][26

];char

s[maxn];

void

insert()

root=trie[root][id];

}pos[js]=root;

}int lca(int x,int

y)

if(x==y)return

x;

for(int i=20;i>=0;i--)

return dad[x][0];}

intmain()

for(int i=1;i<=m;i++)

else

printf(

"%d\n

",deep[l]);}}

return0;

}

ac

湖南集訓Day4

上午的數論感覺還可以,嗯,感覺。因為畢竟我數學弱,只聽懂一半什麼的,感覺證明還是比較顯然的。話說這金牌爺長得好像我某物理老師啊 下午的題終於不是clj出的了,沒辣麼虐了。第一題疑似回文自動機,然而並不會,於是dp水了60分。第二題想了下應該是樹鏈剖分,然後發現搞不出來,回去水第一題,然後水完回來繼續...

湖南集訓 4 13 c

找到 n 維向量 x,最小化 i 0m bi j 0 nai,jxj 2 n 103,m 2 103 開o2,3秒時限。多元函式的最值問題。這裡有乙個比較經典的做法,首先求出需要求最值的函式對每乙個變數的偏導數,然後使他們都等於 0 解出來各變數的值是使原函式達到駐點的值。以這道題為例,略微整理一下...

湖南集訓day8

難度 可以先考慮一維,可知 模k意義下相同的字首和任意兩個相減都是k的倍數 問題等價於統計字首何種模k相同的數的對數。多維的時候二維字首和,壓行或者壓列,n 3可以解決。樹形dp可做,好難好難的樣子 考慮貪心 暗點的深度排序,每次拿出未被更新的最深的點把他的k級父親標記 然後用這個點向外擴充套件更新...