原创 HDU 2586 LCA

//需要加一句手動擴棧 #pragma comment(linker, "/STACK:1024000000,1024000000") #include<iostream> #include<cstring> #include<cstd

原创 HDU 2242 雙聯通加樹形DP

//邊雙連通還有縮點重新建圖再DFS一次 //題意:給一個無向圖連通,圖中每個結點都有一個權值,問能否割掉圖中的一條邊,使得圖變爲2個連通支, //若能,使2個連通支中權值和的差最小,輸出差的絕對值。N<=10^4 #include<c

原创 POJ 2762 弱聯通

<pre name="code" class="cpp">//暈死,隨便敲也能過,這是真心數據弱吧。。。。。 //poj 2762 //判斷有向圖的弱連通 //【題目大意】 //給出T個山洞,對於每個山洞,如果任意選擇兩點s,e,都滿足

原创 POJ 3155 最大密度子圖

poj3155 最大密度子圖 分數規劃 題意:給定一個無向圖,選取一個密度最大的子圖,就是邊數/點數的比值最大,輸出子圖頂點, 設wi爲子圖邊數,vi是子圖點數,就是要max{wi-ans*vi}ans爲二分的值,按邊來考慮,如果選了一條

原创 HDU 4067 費用流

//byehdoj 4067 Random Maze - 最小費用流 + 貪心構圖 // // //【題意】:給出n個點,m條邊,入口s和出口t,對於每條邊有兩個值a,b,如果保留這條邊需要花費;否則,移除這條邊需要花費b。 //

原创 POJ 3352 邊雙聯通

//poj 3352 邊雙連通diy // //題意:本題要求的就是添加多少條邊可變無橋的連通圖。分析:雙連通分支雙連通分支分就是一個極大化(一個點只要加進來之後該 //分支仍然是雙連通分 //支就加進來)的分支,去掉任意一條邊這個分支內

原创 HDU 1272 並查集

//中文題。。題意不需解釋。。。並查集題目,判斷條件顯然爲所有輸入的點都已經訪問到並且總集合數爲1, //同時如果對當前輸入的兩個點,他們的root必須不一樣,因爲如果一樣即可以從這兩個點的任意一個點出發訪問到另一個點。。。 //如上述條

原创 BZOJ 1001 狼追兔子 平面圖最大流

//爲什麼點數都要乘以2呢? //還是默默的學一下dij吧;; //s.t的擺放是爲什麼??? #include<iostream> #include<cstring> #include<cstdio> #include<cstdl

原创 POJ 2987 最大權閉合圖

//poj2987 //最大權閉合圖加最少點數 //最少點數我就先忽視了 莫名奇妙的過了。。 總之題目不簡單,但數據很水。。 請參考胡伯濤的論文《最小割模型在信息學競賽中的應用》 閉合圖的概念就很好引出了。在一個圖中,我們選取一些點

原创 POJ 2594 可相交的最小路徑覆蓋

//一個PXP的有向圖中,路徑覆蓋就是在圖中找一些路徑,使之覆蓋了圖中的所有頂點,且任何一個頂點有且只有一條路徑與之關聯; //(如果把這些路徑中的每條路徑從它的起始點走到它的終點, //那麼恰好可以經過圖中的每個頂點一次且僅一次);如果

原创 POJ 2367 topo

//just 模板題。 ////toposort //給出大於和小於關係,實際上是要找一條邊連接這些點。 //如果圖中存在有向環,則不存在拓撲排序,反之則存在 // //有向無環圖 #include<iostream> #include<

原创 POJ 2409 ploya定理

//題意:給定顏色種數和環上的珠子總數,問有多少種染色方案(通過旋轉和翻轉相同的算同一種)。 // //分析:polya定理。在這裏只談一下polya定理是如何應用的。對於排成一排的帶編號的小球,按照某一種方案改變其中一些球的放置順 //

原创 HDU 1827 強連通加縮點

<pre name="code" class="cpp">// //題意: //聽說lcy幫大家預定了新馬泰7日遊,Wiskey真是高興的夜不能寐啊,他想着得快點把這消息告訴大家,雖然他手上有所有人的聯繫方式, //但是一個一個聯繫過去實

原创 POJ 2942 點雙連通

///自己試着敲試試 //莫名奇妙的過了,我還是要好好研究原理。 //點雙聯通 //每個點與其他點都至少有兩條路徑。 #include<iostream> #include<cstring> #include<string> #incl

原创 POJ 2125 網絡流拆點最小點權覆蓋

//Destroying The Graph poj 2125 //目前想法是拆點加最小點權覆蓋 //這道題的特殊點在於他還要尋找最小點權覆蓋選擇的是:1-n取s能遍歷到的點,n+1-2*n取s遍歷不到的點 // ////那個求割點的重