原创 DLX精確覆蓋解數獨問題

關於Dancing Links的介紹最好仔細閱讀一下Knuth的論文,那篇翻譯的文章也不錯,這位仁兄的 博客比較易懂http://blog.csdn.net/sunny606/article/details/7833551 通過閱讀論文

原创 CF(173E) Camping Groups

題目鏈接 題意:一個俱樂部有 n名成員,每名成員有兩個屬性:聲望r和年紀a(均爲109)。若干個個可以組成一個小組,每個小組中有一名組長,要求這名組長的聲望高於其他成員且這名組長與組內任意成員的年齡差小於k,先給出10000條查詢,問如果

原创 DLX解決3-SAT問題

1.關於DLX的重複覆蓋:根據與精確覆蓋概念的區別可知,只需改變remove()和resume()函數控制刪除和恢復的過程即可實現,對於求解最少步數問題,可藉助ida*中的h()函數優化。 2.重複覆蓋+精確覆蓋:某些元素可重複覆蓋(目標

原创 poj 2793 Cactus(無向仙人掌圖判定)

有向Cactus圖: 1.它是一個強連通圖。 2.它的任意一條邊都屬於且僅屬於一個環。 有向Cactus圖判定: 性質1 有向Cactus的DFS樹沒有橫向邊(不等價於非父子邊)。 性質2 low(u)<=dfn(v) (u是v的兒子)

原创 poj 3467 Cross Counting

題意:給出一個M*N 的矩陣,矩陣中每個元素都有一種顏色(1 ≤ N, M, C ≤ 100),10000條查詢,更改某個元素的顏色或查詢某種顏色的corss有多少個。 We say there exists a cross of si

原创 積性函數(poj1845 poj2480 hdu2879 )

定義:對於正整數n的一個算術函數 f(n),若f(1)=1,且當a,b互質時f(ab)=f(a)f(b),在數論上就稱它爲積性函數。若對於某積性函數 f(n) ,就算a, b不互質,也有f(ab)=f(a)f(b),則稱它爲完全積性

原创 Winning the Netflix Prize: A Summary

Posted by Edwin Chen  Oct 24th, 2011 How was the Netflix Prize won? I went through a lot of the Netflix Prize pape

原创 Pólya計數小結

Burnside引理:記C(f)爲在置換f下保持不變的着色方案的個數,那麼本質不同的着色方案數位所有置換f的C(f)值的平均數。 如果求給定置換C(f)的方法爲“一次判斷每個着色方案是否在該置換下不變”由於每個方案包含p個“格子”的顏

原创 Fibonacci數列

通項式:F(n) = (((1+Sqrt(5))/2)^n – ((1-Sqrt(5))/2)^n)*1/Sqrt(5) 遞推式:F0 = 0, F1 = 1, and Fn = F(n − 1) + F(n − 2)  [定理1]標準F

原创 fzu 2045 \ hdu 3973 AC's String(線段樹+RK)

題意:給出10000個模式串和一個長度爲100000的匹配串,有兩種操作: 1.查詢匹配串的子串[L,R]是否存在於模式串中 2.修改匹配串某個位置的字符 解法:由於RK函數滿足區間加法啊,因此可以用線段樹動態維護和查詢某個子串的has

原创 差分序列(poj 2914 Angry Teacher & poj 2515 Birthday Cake)

poj 2515 Birthday Cake 題意:給出m和n,求Sigma(i^m)   0<i<n 解法:最裸的差分序列,根據性質3,只需求得第0條對角線的n+1個值即可。 import java.io.OutputStreamWr

原创 極大極小搜索α-β剪枝(poj 1568)

極大極小搜索:      A和B對弈,輪到A走棋了,那麼我們會遍歷A的每一個可能走棋方法,然後對於前面A的每一個走棋方法,遍歷B的每一個走棋方法,然後接着遍歷A的每一個走棋方法,如此下去,直到得到確定的結果或者達到了搜索深度的限制。當達到

原创 哈密頓路問題

對於一個圖中是否存在一條哈密頓路,沒有可靠的充分必要條件(貌似鄰接矩陣恆式可以?),因此求哈密頓路是一個NP問題,一般要使用搜索和狀壓dp求解,但漢密爾頓迴路的存在有許多充分條件,即當圖滿足某些特定性質的時候,漢密爾頓迴路一定存在,而且可

原创 中國郵遞員問題CPP

問題描述:Chinese poster-man  problem,簡稱CPP,給出一張連通圖,問經過每條邊至少一次且起點和終點相同,所需走的最小路程。 無向圖CPP 1.考慮當所有點度數均爲偶數時,該圖是歐拉圖,因此任意一條歐拉回路都是

原创 hdu 4411 Arrest(費用流)

題意:有N+1個點,每個點與編號大於自己的點之間有一條有權邊(權重通過floyd求得),現有k個人位於0處,要從k個人中選出若干個人遍歷其它點並最終回到0點,使每個點(除0外)都被訪問恰好一次,問最小費用之和爲多少 解法:每個點之多走一