原创 HDU 2586 How far away?(LCA)

題目鏈接; HDU 2586 How far away? 題意: 和POJ 1986 Distance Queries一樣的,包括數據範圍。 分析: 這裏建單向邊就能過了。。。 #include <stdio.h>

原创 POJ 1330 Nearest Common Ancestors(LCA,在線處理三種方式)

題目鏈接: POJ 1330 Nearest Common Ancestors 題意: 給一個n 點和n−1 條邊的樹,第n 行是要查詢的兩個節點的最近公共祖先,輸出要查詢的最近公共祖先。 數據範圍:n≤104 分析

原创 HDU 4514 湫湫系列故事——設計風景線(並查集+樹的直徑)

題目鏈接: HDU 4514 湫湫系列故事——設計風景線 題意: n 個點和m 條無向邊。先判環,無環的話輸出最長直徑。 數據範圍:n≤105,m≤106 分析: 並查集判環,樹的直徑兩遍dfs 即可。 用C++交A

原创 Codeforces Round #368 (Div 2) A,B,C,D,E

比賽題目鏈接 A、Brain’s Photos 給一個n∗m 的方格,判斷是黑白色還是彩色:只要含有字母’C’,’M’,’Y’中任意一個就認爲是彩色的。 暴力判斷,時間複雜度:O(n∗m) 。 #include <iostrea

原创 HDU 5534 Partial Tree(dp優化)

題目鏈接: HDU 5534 Partial Tree 題意: 有一棵樹有n 個節點,對於度爲d 的節點對樹的價值貢獻爲f(d) ,給出f(1),f(2),⋯,f(n−1) ,(邊是任意構造的)。求樹的最大價值? 數據

原创 POJ 1470 Cloest Common Ancestor(用Tarjan查詢LCA)

題目鏈接; POJ 1470 Cloest Common Ancestor 題意: 給一個n 個節點,n−1 條邊的樹,有多組查詢兩個節點的最近公共最先,按編號從小到大輸出至少作爲一次查詢的最近公共祖先的節點編號和相應的

原创 HDU 4714 Tree2cycle(樹形dp)

題目鏈接; HDU 4714 Tree2cycle 題意: 給一個n 個節點和n−1 條邊的樹。要求把這棵樹變成一個環(所有的點都在環上),每破壞一條邊和新建一條邊的代價都是1,求最小的代價。 數據範圍:n≤106

原创 UVALive 7003 A Balance Game on Trees(樹形dp)

題目鏈接: UVALive 7003 A Balance Game on Trees 題意: 給一個n 個節點和每個節點的兒子的有根樹,根爲1,初始時樹上每個節點的顏色都爲白色,現在要將樹上的一些節點的顏色染爲黑色使得每個

原创 Codeforces 55D Beautiful Numbers(數位dp,能被自己各個位上數字整除的數字個數)

題目鏈接: Codeforces 55D Beautiful Numbers 題意: 定義:一個數如果能夠被它所有位上非零數字整除那麼這個數就是Beautiful Numbers。 給一個區間[L,R] ,求這個區間Bea

原创 SPOJ Con-Junctions(樹形dp,方案計數)

題目鏈接: SPOJ Con-Junctions 題意: 給一個n 個節點和n−1 條邊的樹,要用燈點亮所有的邊,每條邊至少要有一個端點放盞燈就點亮了這條邊,求最少的放燈數量和最少放燈數量時的方案數。方案數結果模10007

原创 HDU 4616 Game(樹形dp,兩遍dfs)

題目鏈接: HDU 4616 Game 題意: 給一個n 個節點和n−1 條邊的樹。每個節點代表一個房間,每個房間都放有一個價值爲正的禮物,有的房間有陷阱,有的房間沒陷阱,最多可以經過C 個陷阱(第C 個陷阱時就應該停止)

原创 HDU 4126 Genghis Khan the Conqueror(樹形dp,MST,破壞原有最小生成樹邊後的最小生成樹代價)

題目鏈接: HDU 4126 Genghis Khan the Conqueror 題意: 給n 個點和m 條無向邊,需要將這n 個點連通。但是有Q 次破壞,每次破壞會把m 條邊中的某條邊的權值增大,求Q 次破壞每次將n

原创 HDU 4756 Install Air Conditioning(樹形dp+MST)

題目鏈接: HDU 4756 Install Air Conditioning 題意: 給n 個點的二維座標,要將這n 個點連通,邊權就是兩點距離,其中0 號節點是根,可能會破壞除根之外的任意兩點的邊(不能建邊),要求將這

原创 POJ 1986 Distance Queries(查詢兩點距離,LCA)

題目鏈接: POJ 1986 Distance Queries 題意: 給一個連通的n 個節點的樹,有Q 次查詢,每次輸出兩點間距離。 數據範圍:n≤40000 分析: 先用基於RMQ算法的求LCA的方法求出LC

原创 Codeforces 337 D Book of Evil(樹形dp,兩遍dfs)

題目鏈接: Codeforces 337 D Book of Evil 題意: 給一個n 個節點和n−1 條邊的樹,有m 個給定的點,求這n 個點中到這m 個點的距離都小於等於d 的點的個數?樹上兩點的距離就是樹上兩點間路