原创 hdu 1599(floyd求最小環模板)

題意: 讓你找出至少包含三個點並且值的總和最小的環。 const int maxn = 110; const i64 INF = INT_MAX; i64 G[maxn][maxn], dis[maxn][maxn], ans,

原创 hdu 1704 poj 3660 (floyd求傳遞閉包)

hdu 1704 題意: n個人,給m行a,b, 表示a能擊敗b,現在問你最多有多少個兩人勝負的詢問還不能確定。 floyd過後遍歷每對關係,如果G[i][j]和G[j][i]都是0,那就不能確定。 /** * Author :

原创 POJ 1797(堆優化dijkstra 求路徑上最小路長度的最大值)

因爲要求路徑上最小路的長度的最大值,可以想到dijkstra思想,優先隊列要維護當前長度大的在隊頂,賦值把dis數組賦爲-INF,源點節點的dis賦爲INF。 每次鄰接表沒清空,看了半小時,汗。 #include <stdio.h

原创 AtCoder Beginner Contest #161 (DEF)

比賽鏈接 d: 題意: 現在有個數叫lunlun數,他的定義是每個相鄰的數位之間差<=1,(1~9,10,11,12,21,22,23),現在輸入一個k(<=1e5),問你第k小的數是什麼? 思路: 利用隊列一個個構造 先OEIS

原创 hdu 2282 Chocolate(拆點+km)

題目鏈接 題意: 給你n個數,這n個數形成一個環,下面輸入n個數表示第i個地方有i個巧克力,現在每一次只能從一個位置向他的鄰居位置移一個巧克力,現在要求每個地方的巧克力不能多於一個,問你最少移幾次。 思路: 拆點,構造二分圖,遍歷

原创 hdu 3333 (主席樹在線求區間不同數的個數 or 線段樹或者樹狀數組離線詢問處理 )

題目鏈接 時限 :3000ms 題意: 給你n個數,下面有m個詢問,每次詢問區間【l,r】之間不同數的和是多少。 思路: 1.主席樹 500ms。 和spoj DQUERY那道題求區間不同數的個數差不多,區別就是spoj那道題1到

原创 洛谷 P3967(KM匹配 枚舉刪邊)

題目鏈接 題意:時限1.2s 有n男n女,下面是一個n*n的矩陣,第i行j列的數就是第i個男生對第i個女生的好感度,下面問你有那對男和女是所有完美匹配的交集(也就是少了他們結果就會比完美匹配小)。 n<=80 思路: 先跑一邊km

原创 CF 20C Dijkstra?

題目鏈接 題意: 給你以後n個點(編號爲1~n),m個無向邊,有可能形成環,問你從 1 到 n 的最短距離是多少,如果到不了就輸出-1, ps:兩點之間可能有多條邊。 思路: 一看這題不是bfs秒了嗎,直接bfs維護每個點的最短距

原创 SPOJ CF25E(KMP)

題目鏈接 這題搞的我真的是快崩潰了,題意說的有點不清楚,有可能是我太蠢,沒注意到是子串就不用再加一串的情況,2個小時的kmp,紀念一下8。 題意: 給你三個字符串a,b,c, 現在讓你構造一個字符串,條件是這個字符串中能找到a,b

原创 CF 126B(KMP 利用next數組枚舉前後綴相同的子串)

題目鏈接 題意: 求一個最長的子串,這個子串在開頭,結尾,中間都要出現過,沒有就輸出just a legend 思路: 利用kmp的next數組從最長的往短的枚舉所有可能的子串,如果得到就break掉,不然會超時(如:aaaaaa

原创 HDU1495:非常可樂(BFS)

非常可樂 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 27010

原创 div2 #603 括號專題+線段樹維護區間(1~n)和的最大值和最小值和本身

題目鏈接 題目大意: 我們定義合法的字符串爲 T, (T), ((T)(T))… 他給出n個操作,RL代表左移,剩下的字符就表示把當前位置上的字符替換爲現在的字符。現在有個染色規則,如果兩個括號是內嵌(nested)的關係,那他

原创 POJ 2236:Wireless Network(並查集)

題意: input: 第一行輸入兩個數 n, d,n代表接下來輸入的城市(1~n)的座標的數目,d表示相互連接的兩個城市之間的最大距離不能超過d。 從(n+1)行開始, 若輸入第一個字符是 ‘O’ ,那麼後面跟一個數字 x, 表示

原创 HDU1372:Knight Moves(BFS)

Knight Moves Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s

原创 HDU1533(KM算法求最小匹配)

題目大意就是讓你用KM匹配求最小權值和。 可以將所有權值都變爲相反數(正變負,負變正),然後KM模板一套得出結果,最後將結果的相反數輸出即可。 #include <stdio.h> #include <vector> #inclu