原创 D 景區路線規劃 (期望 DP 牛客算法週週練1)
題目連接 期望DP 題意 : n個點, m條邊,每個點代表一個景點, 第i個景點遊覽需要耗費ci分鐘,會讓男性遊客和女性遊客的滿意度分別增加h1i和h2i(滿意度初始值都爲0
原创 身體訓練 (牛客算法週週練1)期望
題目連接 題意: 求數學期望: n個人 兩兩相聚 u米, 每個人正常速度爲v m/s 當某個配送員排在最後的時候, 他需要以當時自己的最高速度往前跑. 直到超過排頭的
原创 Borrow Classroom (LCA 倍增 )
題目連接 題意: 一個N 個節點的樹 N-1條邊, 1號節點是根節點,Q次詢問,每次詢問3個整數 A B C 3個人(3個整數代表3個人所處的位置), 要求A 在文件交到根節點
原创 HDU-2586 (LCA Tarjan & 倍增)
題目連接 題意: 求一棵樹上任意兩點的最短距離,n個點,m次詢問 數據範圍: 2 < n < 40000, 2 < m < 200 思路:(Tarjan) LCA板子題,需要一個d
原创 洛谷 P3379 (LCA Tarjan && 倍增)
題目連接 題意: N 個點 ,N - 1條邊,M 個詢問每個尋問 兩個整數X, Y。 求 X, Y 的LCA (最近公共祖先), S點是根節點 思路: LCA模板題 LCA Tarjan
原创 Tarjan(總結)
1)求強聯通分量 Tarjan求強聯通分量 2)縮點 Tarjan縮點 3)求割點和橋 割點和橋的模板 4)求雙連通分量 待補 5)Tarja
原创 LCA (最近公共祖先) Tarjan & 倍增
LCA Tarjan: 實現原理 理解:離線算法,建好樹後再查詢,一次DFS 吧所有查詢解決完。 時間複雜度:O(n+q); n個點 q次詢問 補一下:鏈式向前星,並查集 ,Tarjan 代碼 #include<iostream> #i
原创 Tarjan (橋和割點模板)
補習Tarjan 割點 定義:若從圖中刪除節點 x 以及所有與 x 關聯的邊之後,圖將被分成兩個或兩個以上的不相連的子圖,那麼稱 x 爲圖的割點。 如何求割點:在深搜樹中,如果對於某個點u,與它相連的點v(v不是u的父親)
原创 UVA - 796 Critical Links (Tarjan 求圖中的橋)
題目連接 題意: 1)給你一個圖,然後讓你求圖中橋的個數 2)要求按字典序輸出 3)並且要求第一個點的值小於第二個點的值 思路: 1)Tarjan求橋 2)要
原创 POJ1144 Network(Tarjan求割點)
題目連接 題意: 讓求一個圖中的關鍵節點(割點),輸入稍微有點麻煩,不給你一個點有幾個邊,直接輸入邊,讀到換行才結束。 思路: 1)Tarjan求一下改圖割點的數量。 2)注意輸入讀到換行才
原创 Tarjan(強連通模板)
強連通分量: 1)有向圖中,該圖中的任意兩點之間可互達。 2)一個一個點也是強連通分量 兩個概念: 1)時間戳 dfn[ x ] 時間戳是用來標記圖中每個節點在進行深度優先搜索時被訪問的時間順序,當然,你
原创 Tarjan 縮點 (將有向有環圖縮點成爲有向無環圖DAG)
縮點的作用 1)縮點的實際作用:把一個有向帶環圖,變成一個有向無環圖(DAG) ,這樣基於DAG的算法就能跑了。 2)可以算縮點後個點的出度 基本思想 一我們既然能在有向圖中找到環,那麼我們
原创 POJ-2553 The Bottom of a Graph (Tarjan強聯通+縮點)
題目連接 題意: 一個有向圖,然後讓你求這個圖的底部(求出所有沒有出度的強聯通分量),如果沒有底部輸出空行,升序輸出 數據範圍:n < 5000 思路: Tarjan縮點後,判斷某個點是否有出度,找到出度爲0的點,把這個
原创 HDU-1007 Quoit Design(分治求平面內最近兩點間距離)
題目連接 題意: 找到平面內,最近兩個點間距離, 最後答案除以2 數據範圍: N (2 <= N <= 100,000) N 個點, 思路: 如果暴力解法O()必然是 所以應該有 O(
原创 八皇后問題
遞歸的入門題: 寫一下主要是回想一下 回溯和非回溯。 非回溯,就把所有情況搜出來,把不滿足規定的情況扔掉。 回溯,如果遞遞歸再到達邊界之前。由於一些事實已經不需要往任何一個子問題遞歸,就可以直接返回上一層(或者不用再向下搜),這種方法就叫