2019 8 28訓練總結

2021-09-26 14:54:31 字數 966 閱讀 2716

今天還是看的線段樹,稍微複雜點的線段樹都感覺很難啊,有些技巧性的東西比較難理解,比如將區間對映到整數,一開始沒看懂什麼意思,後來看了個類似的題才懂了。看著部落格多處提到了《演算法競賽高階指南》就買了一本,質量應該還行,用來查閱資料。

總結一下今天看的題目:

poj 2886 who gets the mostcandies?(線段樹+模擬+求數的約數個數)

求約數個數可以預處理:

void

get_f()

}

建樹的時候讓每個葉節點的都維護乙個狀態值 1表示在圈中 0表示不再圈中。然後轉圈找,超過1~n的範圍就取模。

poj 3667 hotel

uva 1400 「ray, pass methe dishes!」(線段樹,區間合併)

hdu 3308 lcis(線段樹:單點更新,求最大連續子串)

這幾個題型別是一樣的,都需要維護當前節點序列,字首序列,字尾序列。在build和update操作中都挺好理解的。在查詢操作中就要注意很多細節。考慮當前節點的端點和要求區間的端點的大小關係,字尾序列能不能和字首序列連起來等問題。

poj 2991 crane(線段樹:維護向量+計算幾何)

這給主要用到了向量的知識;首先乙個向量(x,y)逆時針繞起點旋轉rad度後得到的向量為:

newx = xcos(rad)-ysin(rad) newy = xsin(rad)+ycos(rad)

如果一條折線由多個向量構成,那麼這條折線段的終點座標一定為起點+向量1+向量2+…+向量n的結果,畫個圖就得出來了。還有一點就是角度的旋轉也是可以延遲標記的。

有些題看的還不是很透徹,線段樹這一塊兒還得再下點功夫。明天看rmq和字尾陣列,之前沒細看過rmq和字尾陣列,明天先將相關知識看一看然後再看題。

2019 8 28字尾陣列入門

8月23的ccpc網賽出了神奇的字尾陣列。嚇死本寶寶了。啃了五天板子,還是沒太看懂。那麼先用起來,再慢慢體會吧。給你兩個字串,要求輸出最長公共子串長度。參見大佬的部落格 字串的任何乙個子串都是這個字串的某個字尾的字首。求a和b的最長公共子串等價於求a的字尾和b的字尾的最長公共字首的最大值。將ab串拼...

暑假訓練總結 SSL暑假訓練總結

第一周過的還算好吧,覺得飯堂伙食也挺好的,同學也挺好。學習的東西感覺比小學難好多,有種覺得以前學的東西太簡單了的感覺,但多虧了小學的時候基礎打得還算紮實,學得還行,但總是感覺自己就是個菜雞,就是乙個蒟蒻,哎,室友真的太強了。第一周總結 第二週自我感覺挺不錯的,總算追上了部分室友,成績也開始 這一切都...

逆向工程核心原理 2019 8 28早上

早起傻一天,位元組序大端序和小端序 學過彙編一般都能看懂是什麼意思。大端序 就是按著順序來排列 看起來比較直觀 但如果按高地位來分的話。大端序就是 資料的高位放在記憶體的低位 資料的低位放在記憶體的高位。小端序 看上去是反正來放。但是按高地位來分的話。小端序就是資料的高位放在記憶體的高位 資料的低位...