原创 LG的數學計劃----分解質因數(Pollard-Rho算法)
1.對於我們樸素的求解質因數, 暴枚真是個好算法 好吧一樣的就不給出代碼了, 2.對於另一種神奇的算法Pollard-Rho算法 隨機化算法, 與Miller robin有着密切聯繫, 可以先看一看兩種算法都不難, 只是很神奇。
原创 hdu1754線段樹入門
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 718
原创 1748. The Most Complex Number/LG的數學計劃~~~持續更新ing(反素數求解)
神奇的反素數, 首先定義 g(x) = x的約數個數 而反素數就是對於任意的0 < j < i 有g(j) < g(i)那麼就稱i爲反素數 那麼從這個定義中可以發現的是, 反素數一定是由連續的質數相乘 即對於反素數x一定有x
原创 POJ 2566 Bound Found
題意 : 給你n個數字,這些數字可正可負,再給你個數字t, 求在這個數列中一個連續的子序列,和的絕對值 與t相差最小; 數據範圍較大, 考慮數字沒有負數的情況, 能夠想到用尺取法解決, (關於尺取法, 自己感受一下這東西的奇妙, 不
原创 【APIO2014】Palindromes
2014年好像沒有迴文樹, 但是迴文樹出來之後就變成裸題了 #include <algorithm> #include <cstring> #include <cstdio> #include <iostream> #define re
原创 Aho-Corasick automation-KMP
爲AC自動機學習的做個準備 一篇kmp好文
原创 樹鏈剖分
下面給出能夠完成下列操作的一份樹剖代碼 1 x y z 表示將樹從x到y結點最短路徑上所有節點的值都加上z 2 x y 表示求樹從x到y結點最短路徑上所有節點的值之和 3 x z 表示將以x爲根節點的子樹內所有節點值都加上z 4 x 表
原创 關於後綴樹的入門及簡單應用
良心百度, 找到了一篇好文章, 非常詳細清楚 後綴樹 匠心十年
原创 noip2016提高組總結
無實力選手2=滾粗。。。。 day1 1.T1 直接模擬,本題並未出現低級錯誤 2.day1T2, 按套路來是圖論傻逼題於是5min打完一發暴力LCA後邊在紙上寫寫畫畫, 發現毫無思路, 很慌, 想了一個多小時也沒有想到什麼,
原创 POj 3420
強行一道矩陣遞推, 強行暴力矩陣水過 題目好懂就不說了, 其實我們可以先打一個暴力, 愉快地打完, 就是枚舉i-1行的狀態, 判斷從這個狀態可以使第i行的那些狀態被更新, 然後就可以去想矩陣了, 那麼很好想暴力一個16*16的矩陣直接弄
原创 POJ 2135Farm Tour--MCMF
最小費用最大流入門題, 基礎算法原理: 找出一條最小費用道路, 改變這條路上的流量 不停增廣循環這個過程 好了沒了, 當然你既然來做這個題的話, 最起碼的增廣路算法求最大流應該是會的, 上述原理的細節實現和那個算法基本一致; 這個
原创 遞歸FFT
#include <iostream> #include <complex> #include <cstdio> #include <cmath> const int mx_n = 4e5 + 10; const double pi =
原创 Aho_Corasick 的一些練習(hdu 2222; Poj 1625; Poj2778; hdu2457; Hdu3247)
其實也沒有做很多題,但還是發出來(能騙騙訪問量。。。) Hdu 2222 //本代碼有誤(有反例, 但是ac了)……但希望有人能告訴我真的是數據水嗎。。。。 #include <algorithm> #include <iostrea
原创 UOJ164 線段樹歷史最值查詢
對於線段樹的歷史查詢我們可以用一個二元組 定義(a, b)表示+a對b取max 我們用二元組(a, b), (c, d)分別表示當前以及歷史的標記; 注意順序的問題很重要,提醒一下重載運算符會很方便,還要注意負無窮相加得太多會爆,合併
原创 SCOI2012 喵星球上的點名
題意就不說了, 反正是中文; 正解應該是後綴數組, 但是AC自動機可以強行過, 只是比較慢; 對於詢問串建AC自動機, 然後暴力把每個喵星人暴力在樹上跑, 然後。。。就沒有然後了。 #include <bits/stdc++.h>