原创 Min_25篩代碼

Sn=∑i=1nfiSn=∑i=1nfi Fn=∑i=1n[i爲質數]fiFn=∑i=1n[i爲質數]fi Sn,k=∑i=k∑j=1[n≤pj+1i](Snpji,i+1fpji+fpj+1i)+Fn−Fpk−1Sn,k=∑

原创 最小回文分解NlogN算法

本文翻譯自這篇論文 譯者水平有限,如有錯漏,還望指出 論文中有僞代碼可以幫助理解 衆所周知,字符串的border有和等差數列相關的一些性質(border group),可以參考2015年集訓隊論文集裏的《淺談字符串匹配的幾種

原创 GDOI2016總結

DAY 1 7:50進考場,位置在最左前方,調了下C++的預設和字號後坐等題目。 8:15開始看題,T1中學生數學題,看了眼就知道是簽到題,但我對數學題沒什麼感覺,先不想。T2字符串,發現操作區間可以合併,然後腦袋裏蹦出KMP什麼的,感覺

原创 CV1873 樹的點分治

題解:     什麼情況點i會對點j做貢獻?在i~j路徑上的點中,點j最先被選中,概率是1/[dis(i,j)+1]     答案=∑{1/[dis

原创 bzoj4722 由乃

題解:     正解是什麼我也不知道……     注意到詢問區間太大就一定是YES,我推出的上界是13     那麼知道這個之後,先求出那13個數,

原创 FFT(劃掉)NTT模板

UPD : 18/3/13這是你從未見過的全新版本,常數優秀(相信我),簡單好用,背一下用一年以後還會更新exp,ln之類的#include<cstdio> #include<vector> #include<cstring> #incl

原创 比賽經驗總結

做題之外:     1、看好時、空限制以及輸入輸出文件名     2、注意交卷方式,文件夾名字不要打錯     3、檢查電腦、鼠標鍵盤、編譯器(+敲模板?) 做題前:     1、將全部試題看完,(有些出題人喜歡把難題放在前面)認真讀(

原创 一些常用define

#define rep(a,b,c) for (int a=b;a<=c;a++) #define per(a,b,c) for (int a=b;a>=c;a--) #define go(u) for (int o=ft[u],v;v=

原创 紀中八月五號到二十五號集訓總結

8.5 T1做法之前想過,其他有思路但還不會,決定打T1 大概打了1h,調了1.5h,推T2推錯方向了,然後棄療 爆零 1.遇到意料外的細節沒有停下想好再打,導致T1調太久 2.T1沒看到要加文艹,還交錯題了,而且做法常數大過不去 3.T

原创 SAM模板

不懂SAM的可以一起討論加深理解,因爲我也不太懂 hdu4622,CLJ大爺出的模板題 #include<cstdio> #include<cstring> #include<algorithm> #define rep(a,b,c)

原创 GDKOI2017醬油記

考試過程 DAY1 因爲監考老師不給提前碰鍵盤,就只能坐等比賽開始了其實我是感覺很爽的,因爲我沒板子可敲 解壓密碼:zha.xi.de.le~       雖然場上還不知道什麼意思 但講題的時候還是感受到

原创 非旋轉treap模板

先挑個好講一點的試試,原理什麼的我最多一句帶過就算了 你問我無旋treap的原理?我只能回答你一句無可奉告 我學這個東西的時候,想找別人的代碼看看 看到別人寫得那麼長,就自己寫了下 然後,就寫成現在這樣了

原创 線段樹的特殊運用

線段樹有一種用法,是用多個值域線段樹實現一些操作:1、合併2、分裂【分出前k小的數3、查詢K小嘗試用最暴力的方法實現合併暴力實現的複雜度分析:分裂操作在線段樹上的路徑和查詢K小的路徑長度都是log n的,所

原创 紀中5號~16號集訓小結

因爲禁止使用QQ,禁止逛blog,全機房都在幹正事 學算法的學算法,改題的改題,討論的在外面討論 氛圍好,學習效率高 我改完題還有時間,因爲題目質量一般,十天裏補了兩個知識點 紀中的集訓能有這樣的氛圍,是值得學習的 這十多場模擬賽,可以

原创 STL 常數測試(粗略)

vector - 手寫鏈表 預處理log - math庫log vector - 手寫鏈表 vector和手寫鏈表的時間對比 push_back時間如下 .. 不開O2 開O2 vector 8s 6s 手寫鏈表