原创 E - Power Strings POJ - 2406 (後綴數組||kmp)

這個題目是後綴數組專題裏面的一道題目。結果就是照着後綴數組的思路寫的果然超時了。結果上網一搜才發現kmp也能做,真是太死板了,做題。 思路:對於一個串如果它是某個串的重複得到的,那麼當前串的某個後綴串suff(i)與這串的公共前

原创 HDU6138 F Fleet of the Eternal Throne(字典樹+後綴數組+二分)

題目大意:給予n個字符串,有q次查詢,對於每次查詢,求出x串與y串的最長公共子串長度,該子串至少要是n個串中的一個串的前綴。 首先對輸入的n個串建立字典樹,方便查詢前綴,然後對於每次查詢輸入的x與y,把x串與y串取出來,兩個串連接在一起,

原创 H - Hard challenge HDU - 6127

思路:對所有的點進行極角座標排序,然後從最小的點開始,對每個點i,二分查找它的極角逆時針旋轉180度的角,在所有點之間的位置。如果這個角座標的點是L右邊的是R,只要求當前點到L點的權值總和,再算R順時針轉到i的權重總和.(這裏用線段樹維護

原创 2017多校賽 1002 Rikka with String(AC自動機+狀壓)

這個題目和之前做的一道題目很像:類似的題目 對於題目要求枚舉到2L長度的串,由於01串本身的性質我們只用枚舉到L就行了,那一半是對稱的。在枚舉這一半時是可以隨便枚舉的,因爲這一般確定了,那麼另一半也確定了,這樣2L的串一定是個0

原创 H - Island of Survival LightOJ - 1265

這道題目,我看了好多篇博客,都沒有看到過很好的解釋, 不過在這位大佬這裏看到了,很棒的解釋。 點擊打開鏈接 用的是概率dp做的,dp[i][j]表示的是有i只老虎和j只鹿的情況下,人的最大存活概率,因爲dp[0][j]都是0可以從下往上遞

原创 D - Dirt Ratio HDU - 6070詳解 (二分+線段樹區間修改+思維)

這道題目比賽的時候做了半天,結果基本就是掛機的狀態。事後看了題解也是一臉懵逼的。最後看了標程才知道怎麼做的。看懂之後才發現這個這個題目那麼有趣,真是思維太巧妙了(吐槽一下多校賽題解,只有做出了的人才能看懂。(ㄒoㄒ))。 他是這

原创 2017百度之星資格賽:1001. 度度熊保護村莊(計算幾何+最小環)

本來以爲是一道凸包題目,結果最後看了位大佬的題解才發現是圖論的算法。 大佬博客鏈接 首先對守衛熊的m個點兩兩一枚舉,對於每一次枚舉的兩個點a, b,去測試所有的n個村莊是否全在這次枚舉線段的一側,如果所有的點都在ab的左邊就把

原创 G - Maximum repetition substring POJ - 3693 (後綴數組)

又是一道後綴數組的題目,和上一道題目是類似的,不過要輸字符串本身,在同等重複次數下輸出,字典序最小的。 我們只需要記錄下所有達到最大重複次數的,重複段的長度就可以了,然後按照sa數組排序好的字典序,對每一個sa[i],去枚舉記錄

原创 Manacher最長迴文子串(模板)

該算法就是處理一個字符串中的最長迴文子串,在後綴數組中看到過相對的解法,時間複雜度可以優化到o(n),但是相對代碼量太大,而面對迴文串算法有相對更簡單的方法,可以很簡單的處理出來,代碼量小,時間也是o(n)。 Manacher算

原创 Codeforces Round #428 (Div. 2)C

這題就是一道簡單的貪心,但是少考慮了一種特例,當還剩下3組人,每組2個人,可以用2個4排的座位放下這些人。 1102 3302 #include <iostream> #include <stdio.h> #include <cstrin

原创 E - 最長雙迴文串 HYSBZ - 2565

思路:套用迴文串的模板求出最長迴文串之後, 用兩個數組L與R分別存 最長迴文串右邊界在當前節點的最長迴文串長度,以及左邊界在當前節點的最長迴文串長度。然後分別在掃描一下兩個數組,得到迴文串左右邊界在當前節點的最長迴文串長度。然後取最大值就

原创 C. Star sky(Codeforces Round #427 (Div. 2) C)

題目大意:給在100*100的網格上,有n顆星星, 每顆星星有自己的亮度,最大亮度是c,每過t秒,星星的亮度就會加t,如果亮度超過了c,就會變成0,然後繼續從0開始增加。現在有q次查詢, 每次查詢會輸入一個時間t,和兩個點,要求輸

原创 F - Repeats SPOJ - REPEATS

這是一篇論文裏面的題目,雖然看了論文裏面的解法,發現對我還是比較難理解,最後思考了好久才明白這題的具體做法。 我們去枚舉重複子串的長度,如果這個子串的重複長度大於等於2,那麼對每個枚舉的長度L來說,我們計算S[0], S[L],

原创 A - Musical Theme POJ - 1743(後綴數組)

人生第一道後綴數組題目,值得紀念下。 題目意思很簡單,就是給予一個序列,求最長不相交的相同的連續子序列的長度(這裏的相同,只要是兩個序列的差值相等都算相同的序列)。 後綴數組模板題目:關鍵在於預處理上比較難想,(表示看了題解

原创 正則化(經驗風險最小化與結構風險最小化)

經驗風險最小化,是根據定義的cost函數,來使訓練集合的cost(損失)函數的整體最小,一般常見的的損失函數有一下: 當選定了損失函數以後,就可以確定經驗風險函數:1/N * L(yi, f(xi)) ( i的範圍是1到N的