原创 樹的直徑

樹:n個節點,n-1條邊(雙向)連接成一強連通圖; 樹的直徑指的是,這棵樹上最長的一條路徑。 求法:先從一個任意點u開始,求距離u最遠的點S(dfs或bfs都行),然後從S點開始找距離S最遠的點T,這個時候ST就是這棵樹的直徑。

原创 How far away ? HDU - 2586 tarjan求LCA

題意:給你n個村莊,n-1條路將所有村莊聯通,每條路都有自己的長度。m次提問,問a,b村莊之間路的長度。 分析:這個就是在一棵樹上求兩個點的距離嘛。LCA。因爲數據範圍比較小,暴力的話,每組時間複雜度爲m*q,可以卡過去。 用Ta

原创 期望dp 入入門

poj 炸了….過個把星期才能好…先刷一下HDU上的題 期望dp 這一類題,簡單的說就是求期望。 一般都是從後往前推,因爲最後的狀態和值我們知道… 通過例題來了解~ LOOPS HDU - 3853 題意:求從(1,1)

原创 遞歸

總結一下遞歸 之前看到一張圖很有意思,這張圖可以來解釋遞歸~ 之前的學習中,對遞歸的解釋都是,自己直接或者間接調用自己的就叫遞歸。 遞歸有兩個要點 1.原問題可以縮小成相似的子問題(這樣才能調用自己) 2.有出口。(小

原创 Warm up HDU - 4612 無向圖縮點+樹的直徑

題意:n個點,m條無向邊。如果去掉一條邊,使圖不連通,那麼這條邊就稱之爲橋。可以加一條邊,使圖中的橋最少,這個時候橋爲多少? 題解:先縮點,縮完之後是一棵樹,樹的邊都是橋。然後求樹的直徑,將直徑相連是最優的。ans=樹的邊數-直徑

原创 github與gitlab的區別

參考https://my.oschina.net/360yg/blog/1800491 git 是一種版本控制系統,是一個命令,是一種工具。 github 是一個基於git實現在線代碼託管的倉庫,向互聯網開放,企業版

原创 線段樹題目

HDU2795 廣告牌 HDU 3308 LCIS codeforces 739C Alyona and towers HDU 5493 Queue HDU—2795 廣告牌 (單點查詢,單點更新) 題意:有一

原创 2017 瀋陽區域賽部分題解

A - BBP Formula HDU - 6217 題意:給了π 的BBP近似公式,求出來的是10進制值,問如果用16進製表示π 的小數點後第n位是啥 分析:典型的BBP問題tl 我們可以從這個公式中得出,可以先乘16n−1 ,小數

原创 線段樹,樹狀數組基礎

線段樹和樹狀數組基本操作 兩者對比 線段樹操作 單點修改 區間修改 單點查詢 區間查詢 組合操作 樹狀數組操作 單點修改 區間查詢 區間修改 區間修改單點查詢 區間修改區間查詢 線段樹和樹狀數組基本操

原创 線段樹(掃描線)求面積並, 交以及周長

hotel的網好差….. 線段樹求面積並 HDU 1542 題意:給幾個矩形,求總面積,重疊部分只算一次。 分析:可以先看看線段樹算法瞭解掃描線思想. using namespace std; #define ll long lon

原创 To xor or not to xor SGU - 275 gauss

題意:給n個數(n<=100),每個數在long long 範圍內,任意選一些數異或起來,問異或值最大爲多少 分析:高斯消元。 a[i][j]:第j個數的第i位。儘量讓每一位都爲1,這樣是最大的。所以讓a[i][n]=1; 然後解方程

原创 HDU 4035 Maze 期望dp

題意:這是一個樹形的迷宮,一個人從1節點開始走,他會任意選擇一條邊走,然後每到一個節點i,有Ki的概率被kill,然後從1節點繼續開始,有Ei的概率逃出這個迷宮。問逃出迷宮的期望 分析;這個題和上一題的丟骰子的題很像; dp[i]:i節

原创 序列分割 HYSBZ - 3675 斜率dp

小H最近迷上了一個分隔序列的遊戲。在這個遊戲裏,小H需要將一個長度爲n的非負整數序列分割成k+1個非空的子序列。爲了得到k+1個子序列,小H需要重複k次以下的步驟: 1.小H首先選擇一個長度超過1的序列(一開始小H只有一個長度爲n的序列

原创 Collecting Bugs POJ - 2096 期望dp

題意:有s個子結構,n種bug,每天都會發現一個bug,問發現n種bug,且每個子結構中都有bug的期望是多少 分析: 開始想狀態是: dp[i][j]:bug在i個子結構中,j種bug的期望天數, 然後由dp[i-1][j],dp

原创 Painter's Problem POJ - 1681 高斯消元+枚舉自由元

題意:和開關問題一模一樣,就是多了一個求最少操作數的。當解唯一的時候,操作數是一定的。只有有自由元的時候,存在最小解,這個時候枚舉自由元就行了。然後因爲要枚舉自由元,這裏freex中放的是自由元 #include <iostream> #