原创 poj 1325 Machine Schedule

一開始覺得沒有思路,後來發現,任何一個job都可以和兩端的機器的方法各有一條連線,那麼路徑數即爲job的個數。因此,求出覆蓋所有路徑所需的最小點數即爲解。便轉化爲最小點覆蓋問題。 /* 題意:有兩臺機器A和B,分別有n種和m種不同的模式

原创 poj 2186 Popular Cows

使用Tarjan+縮點 完成,算是一道水題,但這題貌似不能用鄰接矩陣,會超內存,所以我使用了鏈表。 大概的思路就是求出所有的強聯通分量,然後把強聯通分量縮爲一個點,判斷這些新點的出度,如果只有一個出度爲0,則輸出這個點代表的聯通分量中所有

原创 poj 3343 Against Mammoths

題目超長,難在讀題,理解題以後就可以看出是一道二分查找+最大匹配的題目了 題意:有n個人類星球,m個外星球,每個星球上開始sh艘飛船,之後每年會生產p艘飛船,人類想要戰勝所有的外星球,每個人類星球和每個外星球的距離已知(需要耗費年),比如

原创 poj1556 The Doors

難點在構圖上,每面牆的兩個門,都有四個頂點,可以和其他點相連(如果中間沒有牆阻擋),因此就可以成功構造出一幅圖。#include<stdio.h> #include<math.h> struct point { double x,

原创 mac os 安裝 boost庫

我們都知道 mac os 是基於unix的,所以說在某些方面上,我們可以去嘗試把它當作unix使用,因此我們也可以使用vim在mac os上做gcc的開發。但是爲了提高開發效率,個人更喜歡使用xcode編譯器,所以這裏我將介紹一下xcod

原创 poj 1236 Network of Schools

題意: 給定一個有向圖,求下面兩個量: 1 :最少從幾個點出發能遍歷全圖。 2 :最少加幾條邊能使原圖強聯通。 解法: “最少從幾個點出發能遍歷全圖”的點數是將原圖縮點後入度爲零的點的個數。 “最少加幾條邊能使原圖強聯通”的

原创 poj 2553 The Bottom of a Graph

題意: 給一個定義bottom(G)={v∈V|∀w∈V:(v→w)⇒(w→v)},意思就是在一個有向圖中存在一種點v1,這種點滿足:v1可達的點集V中所有點,都有一條路徑回到v1。先要找出所有的點,按字典序輸出。 思路: 找到出度爲0

原创 poj1840 Eqs

使用hash實現,原式:a1*x1^3+a2*x2^3+a3*x3^3+a4*x4^3+a5*x5^3=0 可以推出:a1*x1^3+a2*x2^3 = -(a3*x3^3+a4*x4^3+a5*x5^3) 把O(n^5)轉化爲O(n^3

原创 poj 2983 Is the Information Reliable?

這題參考了別人的思路: 由於P  A  B  X 指“確定A到B的距離(邊權)爲X” 從P  A  B  X得到的差分系統爲 dist[A] - dist[B] >= X  &&  dist[A] - dist[B] <= X 等價於di

原创 poj1201

http://blog.csdn.net/rookie_algo/article/details/7833801 和1716一樣,差分約束,列出以下式子: 1、s[bi]-s[ai-1]>=2 2、s[i+1]-s[i]>=0 3