原创 UVA - 12627 Erratic Expansion : 遞歸

題目點此跳轉 思路  題目意思是(書上原話)一開始有一個紅氣球。每小時後,一個紅氣球會變成3個紅氣球和一個藍氣球,一個藍氣球會變成4個藍氣球,如圖所示分別是經過0, 1, 2, 3小時後的情況。經過k小時後,第A~B行一共有多少個

原创 HDU - 3530 Subsequence : 單調隊列

題目點此跳轉 思路  題目意思是給你一個數組, 求一個最長的子區間的長度,此子區間要滿足一個條件:在此區間內的最大值與最小值的差要在[m, k]範圍內。  使用兩個單調隊列分別維護區間的最大值和最小值。  注意隊首元素出隊的條件

原创 UVA - 1608 Non-boring sequences : 分治

題目點此跳轉 思路  題目意思是如果一個序列的任意連續子序列中至少有一個只出現一次的元素,則稱這個序列是不無聊(non-boring)的。輸入一個n(n≤200000)個元素的序列A(各個元素均爲10 9 以內的非負整數),判斷它

原创 歐拉定理 和 歐拉函數

歐拉定理 定義 設m >= 2, (a, m) = 1。 若ϕ(m) 表示小於m且與m互素的正整數的個數,則有aϕ(m)≡1(modm) //m不一定爲素數 //若m爲素數,則ϕ(m)=m−1 , 上式變爲費馬小定理

原创 入門經典_Chap08_題解總結:極角掃描法 滑動窗口 單調隊列 單調棧

總結  本章主要關注一個重要的問題 – 單調隊列和單調棧的使用  同時還有一些其他的問題,如掃描法,遞歸的思想, 構造, 分治, 二分等 知識點 單調隊列 和 單調棧 題目 UVA - 1606 Amphiphilic C

原创 威爾遜定理:素數的充要條件

定義 p爲素數的充要條件爲(p−1)!≡−1≡p−1(modp) 也可以說p|(p−1)!+1 證明 百度百科的證明特別簡明易懂 => 點此跳轉 應用  可以將一些與階乘有關的同餘式和素數聯繫起來,以解決某些特定的問

原创 a^b === c (mod p)知二求一: p已知

知a b求c 求x滿足ab≡x(modp) , 即求x=abmodp 快速冪。。。 LL pow_mod(LL a, LL b, LL p) { LL r = 1; a %= p; while(b) {

原创 中國剩餘定理(CRT):求解模線性方程組

定義  設有同餘式組 (S): (S):⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪x≡a1(modm1)x≡a2(modm2)x≡a3(modm3)⋮x≡ak(modmk) 即 x≡ai(modmi),i=1,2,..,k  其中

原创 HDU - 3415 Max Sum of Max-K-sub-sequence : 單調隊列

題目點此跳轉 思路  題目意思是給你一全環形的數組(頭尾相接), 求所有長度不大於k的區間中 元素和 最大 的的區間 及 最大的元素和。  區間的和可以使用前綴和相減求出,設sum[i]爲從0到i的前綴和, 區間[i, j]的和即

原创 POJ - 2823 Sliding Window: 滑動窗口 單調隊列

題目點此跳轉 思路  題目意思是給你一個數組,讓你分別求出所有的區間長度爲k的區間的最小值和最大值。 Window position Minimum value Maximum value [1 3 -1] -3

原创 HDU - 1506 Largest Rectangle in a Histogram: 單調棧入門題

題目點此跳轉 思路  題目意思是有一個由許多矩形組成的一個圖形(下底對齊), 求這個圖形裏能找到的最大矩形的面積, 輸入的是各個矩形的高度。 例如下圖  很顯然,這一題就是要求對於每一個矩形而言,它往左或右最多的比他高的矩形的個

原创 階 和 原根

階 定義 設m > 1 且 (a, m) = 1, 則使得at≡1(modm) 成立的最小的正整數t稱爲a對模m的階, 記爲δm(a)。 定理 定理1 若m>1且(a, m) = 1, 且an≡1(modm) , n

原创 單調隊列 和 單調棧

單調隊列 定義 有一個隊列(雙端隊列), 隊列中的元素滿足下面四種狀態的任何一種都爲單調隊列: 單調遞增 (如 1 2 3 5 9) 單調不減 (如 1 2 3 3 5) 單調遞減 (如 9 5 3 2 1) 單調不增 (如

原创 二次同餘式(草稿)

原理 求解方法 實現 /*==================================================*\ | 二次同餘式 x^2 === a (mod p) 的解 -- 最多兩個 | p爲奇素數 且 (a

原创 費馬小定理 : 求逆元 降冪

定義 若p爲素數, (a, p) = 1, 則ap−1≡1(modp) 證明 引理1  若(a, m) = 1, 則a,2a,3a,...,(m−1)a 的最小剩餘(mod m) 按某種次序排列後爲1,2,3,...,