原创 poj 2484 A Funny Game

題目:http://poj.org/problem?id=2484 一,題意: n個硬幣圍成一個圈,Alice與Bob輪流從圈中取硬幣,每次可以取一枚或者連續的兩枚, 硬幣取走後留下的空位不用填補,空位相隔的兩個硬幣視爲不相鄰,Alice

原创 poj 1845 Sumdiv

題目鏈接:http://poj.org/problem?id=1845 一,題意:   給定兩個整數A,B,要求出A的B次冪,所有因子之和(要求%9901)。 二,分析: 1,我們知道每一個整數A都可以唯一的分解成若干素數冪的乘積,這些素

原创 高斯消元模板

高斯消元: 其實就是用矩陣初等變換解線性方程組,只是他要求每次選取的主元一定要是最大值。 模板 #include <iostream> #include <stdio.h> #include <string.h> #include <st

原创 hdu 2255奔小康賺大錢 KM算法模板

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 一,KM算法:(藉助這個題寫一下個人對km的理解與km模板) KM算法主要是用來求解圖的最優匹配的。 1,帶權二分圖:  在二分圖中每

原创 poj 1191 棋盤分割 (壓縮dp+記憶化搜索)

一,題意: 中文題 二,分析: 主要利用壓縮dp與記憶化搜索思想 三,代碼: #include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #

原创 樹狀數組求最大值 (RMQ with Shifts)

代碼: #include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> using namespace std; const int Max=2

原创 poj 1830 開關問題 (高斯消元)

題目鏈接:http://poj.org/problem?id=1830 一,題意: 該題是中文提,題意我就不解釋了。 二,解析: 該題我們先的建立一個圖,我們以開關爲節點,若開關x的變化會影響y開關,則連一條x到y的有向邊。 然後我們用鄰

原创 hdu 2063 過山車 二分圖+最大匹配+匈牙利算法

一,二分圖概念: 1,二分圖: 二分圖又稱爲二部圖,它是圖論中特殊的一種模型,令G=(v,E)是一個圖, 若該圖中節點能被分成兩個不相交的兩個子集:A,B。即: (AU B) =V    (A ⋂B)=ϕ。 且圖中每一條邊(x,y)所關聯

原创 POJ 2096 Collecting Bugs 期望DP

題目鏈接:http://poj.org/problem?id=2096 一,題意: 一個軟件有m個子系統,n種bug,有個人每一天都能在該系統中找到一個bug。 每一bug都等可能的屬於n種bug中的一種,也等概率的屬於m個子系統中的一個

原创 線段樹模板(區間最小值優化 版) (RMQ with Shifts)

題意: #include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <fstream> using namespace s

原创 三大經典博弈 尼姆博奕 + 巴仕博弈 + 威佐夫博弈 +SG函數

第一,尼姆博奕(Nimm Game) 一,特例分析 有三堆各若干個物品,兩個人輪流從某一堆取任意多的 物品,規定每次至少取一個,多者不限,最後取光者得勝。 我們用(a,b,c)表示某種局勢,首先(0,0,0)顯然是奇異局勢,無論誰面對奇異

原创 POJ3186:Treats for the Cows 區間DP

題目鏈接:http://poj.org/problem?id=3186 一:題意: 給定一個序列,序列中有N個元素,我們每次都可以從序列最前面或者最後面取出一個數, 假設按照上面的方法取完所有原序列的數,形成新的序列爲a1,a2,,,an

原创 POJ2155 Matrix二維線段樹

一,題意: 給你一個全爲0的N * N的矩陣,對這個矩陣有兩個操作(對於矩陣只有兩個狀態0,1) (1):“C x1,y1,x2,y2”   就是將左上角爲x1,y1,右下角爲x2,y2,的這個矩陣內的數字全部翻轉。 (2):“Q x1