原创 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>