原创 POJ 2942 Knights of The Round Table

題目:傳送門 分析:這道題涉及的知識太多了。。要徹底喫透可能還需要幾天。分享一篇題解。ps:是時候看看算法書了。 代碼: #include <iostream> #include <cstdio> #include <algori

原创 POJ Building a Space Station

題目鏈接 題目大意:太空中有一些球形的艙室cell,爲了使宇航員們能夠在艙室之間來去自如,你需要在必要的艙室之間搭建通道,通道的成本與長度有關,所以你必須選擇最優的方案使搭建的通道長度總和最短。求這個最短總和長度。 分析:其實就是

原创 UVa 248 Cutting Corners

題目 題目大意:給定起點座標和終點座標,以及一些矩形區域的三個點座標,求起點到終點的最短路徑長度(路徑不能穿過矩形矩形區域)。 分析:容易想到的是,將所有矩形的四個角以及起點和終點看做節點,若兩個節點之間的連線不跨過任何矩形區域,

原创 UVa 393 The Doors

題目 題目大意:在一個正方形的小室中,有一些障礙牆(0到18個),每個障礙牆有兩扇門允許通過,你的目標是找到起點(x=0,y=5 )到終點(x=10,y=5 )的最短路徑。 分析:這是ljr《算法藝術與信息學競賽》p.354的一道

原创 POJ 2301 Beat the Spread

題目鏈接 大水題。。 代碼: #include <iostream> #include <cmath> #include <algorithm> using namespace std; int main(){ int

原创 POJ Ty Storage

題目 水題。。 代碼: #include <iostream> #include <algorithm> #include <cstring> #include <cmath> #include <bitset> using na

原创 POJ 1269 Intersecing Lines

題目 水題。。。 代碼: #include <iostream> #include <iomanip> #include <algorithm> #include <cmath> #include <cstring> using

原创 UVa 754 Treasure Hunt

題目 題目大意:在100∗100 的方形區域裏某地方有一寶藏,裏面有一些障礙牆(沒有多於兩堵牆相交於同一點)將該區域分爲若干小室,現在你只能從每個小室的牆壁的中間通過,問從外面到寶藏所在地最少通過幾堵牆壁。 分析:不要被所謂的只能

原创 POJ 3347 Kadj Squares

題目 水題。。 代碼: #include <iostream> #include <algorithm> using namespace std; const int MAXN=55; struct Square{ i

原创 POJ 3449 Geometric Shapes

題目 分析:就是給一些多邊形,多邊形的邊不會自交(簡單多邊形),求它們的相交情況(當某個多邊形完全包含於某個多邊形,不算相交)。 代碼: #include <cstdio> #include <iostream> #include

原创 POJ A Round Peg in a Ground Hole

題目 題目大意:就是給一些點的座標(in order),判斷它們是否構成凸包,如果是構成凸包,在判斷給定圓是否在凸包內(圓心位於凸包內,且半徑不大於圓心與凸包邊的最小距離)。 分析:判斷圓心是否在多邊形內,採用環顧角的方法,若求得

原创 POJ 3252 Round Numbers

題目:傳送門 題目大意:輸入兩個數start和finish,求閉區間[start,finish]中Round Numbers(二進制表示中0的個數大於等於1的個數)的個數。 分析:有兩種做法。 一種是數位dp,limit的作用是

原创 POJ 2960 S-Nim

題目鏈接 剛接觸SG函數不久,再次被算法的巧妙震撼到,知道mex、SG函數這道題就是水題了。第一次在sublime text上編譯代碼,折騰了好久啊。。。不過最終結果還是令人滿意的,現在我的sublime text 超好看啊!附圖

原创 POJ 1836 Alignment

題目:傳送門 題目大意:有一些士兵站成一排,一開始他們是按編號站的,但是他們的首領不喜歡這樣,於是首領讓一些人出列,剩下的人中每個人都可以看向左邊或右邊的遠方(即每個人的身高是隊列左端或右端到他的所有士兵裏唯一最高的)。輸出這些士

原创 POJ 2068 Nim

題目鏈接 令dp[id][remain]:輪到編號爲id的人時還剩下remain顆石子的狀態 ,那麼dfs記憶化搜索就好了。 代碼: #include <iostream> #include <cstring> #include