原创 【搜索】NOIP2015鬥地主(增強版)

題目鏈接:洛谷2540 題目描述 牛牛最近迷上了一種叫鬥地主的撲克遊戲。鬥地主是一種使用黑桃、紅心、梅花、方片的A到K加上大小王的共54張牌來進行的撲克牌遊戲。在鬥地主中,牌的大小關係根據牌的數碼錶示如下:3<4<5<6<7<8<9<10

原创 【搜索】NOIP2015鬥地主

題目鏈接:洛谷2668 題目描述 牛牛最近迷上了一種叫鬥地主的撲克遊戲。鬥地主是一種使用黑桃、紅心、梅花、方片的A到K加上大小王的共54張牌來進行的撲克牌遊戲。在鬥地主中,牌的大小關 系根據牌的數碼錶示如下:3<4<5<6<7<8<9<1

原创 【搜索】NOIP2011Mayan遊戲

題目鏈接:洛谷1312 題目描述 Mayan Puzzle是最近流行起來的一個遊戲。遊戲界面是一個7行×5列的棋盤,上面堆放着一些方塊,方塊不能懸空堆放,即方塊必須放在最下面一行,或者放在其他方塊之上。遊戲通關是指在規定的步數內消除所有的

原创 【搜索】NOIP2014尋找道路

題目鏈接:洛谷2296 題目描述 在有向圖 G 中,每條邊的長度均爲1,現給定起點和終點,請你在圖中找一條從起點到終點的路徑,該路徑滿足以下條件: 路徑上的所有點的出邊所指向的點都直接或間接與終點連通。 在滿足條件1的情況下使路徑最短。

原创 【模板】Treap(詳細註釋)+BZOJ3224

有關Treap,很多博客都給出了詳細的講解,這裏就只給出Treap的模板代碼和詳細的註釋,希望大家對Treap有更詳細的理解。 模板如下(同時也是BZOJ3224的代碼)。 注意在BZOJ和POJ等OJ上提交的時候不要使用srand()函

原创 BZOJ2120 數顏色(帶修改的莫隊算法)

題目鏈接:BZOJ2120題目大意:維護一個序列(長度小於等於10000),支持兩種操作:查詢和修改。查詢:查詢區間[L,R]中的不同數字的個數。修改:將第i個元素修改爲j。題解:本題是帶修改的莫隊算法。因爲莫隊算法是通過改變詢問的順序來

原创 樹相關算法(一)——二叉樹的遍歷、樹的重心、樹的直徑

前言:算法競賽中常見的樹問題 (二叉)樹的遍歷 樹的重心 樹的直徑 最近公共祖先(LCA) 哈夫曼樹 樹鏈剖分 一、(二叉)樹的遍歷         二叉樹的遍歷(Traversing binary tree)是指從根節點出發,按照某種次