原创 C++有向圖的強連通分量—————Summer Holiday

題目描述: To see a World in a Grain of Sand  And a Heaven in a Wild Flower,  Hold Infinity in the palm of your hand  And Et

原创 C++高級搜索—————Robot

題目描述; The Robot Moving Institute is using a robot in their local store to transport different items. Of course the robo

原创 C++RMQ算法—————A Magic Lamp

題目描述: Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so kind. Kiki mu

原创 C++無向圖連通性問題—————礦場搭建

題目描述: 煤礦工地可以看成是由隧道連接挖煤點組成的無向圖。爲安全起見,希望在工地發生事故時所有挖煤點的工人都能有一條出路逃到救援出口處。於是礦主決定在某些挖煤點設立救援出口,使得無論哪一個挖煤點坍塌之後,其他挖煤點的工人都有一條道路通向

原创 C++最近公共祖先(LCA)例題—————求和

題目描述: master 對樹上的求和非常感興趣。他生成了一棵有根樹,並且希望多次詢問這棵樹上一段路徑上所有節點深度的k  次方和,而且每次的k 可能是不同的。此處節點深度的定義是這個節點到根的路徑上的邊數。他把這個問題交給 了pupil

原创 C++圖論強連通分量講解

前言: 強連通分量好強,老師好喜歡(考)。 概念: 在有向圖G中,如果兩點互相可達,則稱這兩個點強連通,如果G中任意兩點互相可達,則稱G是強連通圖。     1、一個有向圖是強連通的,當且僅當G中有一個迴路,它至少包含每個節點一次。  

原创 C++高級搜索算法例題及講解—————Sudoku

題目描述: Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as sho

原创 C++高級搜索算法迭代加深—————騎士精神

  題目描述: 在一個5×5的棋盤上有12個白色的騎士和12個黑色的騎士,且有一個空位。在任何時候一個騎士都能按照騎士的走法(它可以走到和它橫座標相差爲1,縱座標相差爲2或者橫座標相差爲2,縱座標相差爲1的格子)移動到空位上。 給定一個初

原创 C++Pollard_rho分解質因數及其例題—————Prime Test

前言: 在觀看此博客之前請學習miller_rabin。 我們在分解質因子時也許只會用試根法(也就是暴力)。 而在此我們將學習一個玄學的算法——Pollard_rho。 概念: Pollard_rho是一種基於隨機的算法,它的思路是先用m

原创 C++迭代加深搜索及其例題講解—————Addition Chains

前言: 學習算法時,一個關鍵的問題是什麼時候來使用它。在一些搜索問題中,使用普通的DFS可能會讓你把時間浪費在深度非常大而且答案不是最優的搜索過程上,甚至有的時候DFS搜索的深度是無窮的,而BFS雖說理論上可以避免這種情況,卻又無法滿足題

原创 C++圖論與矩陣加速—————[SCOI2009]迷路(道路千萬條)

題目描述: 道路千萬條,安全第一條!宏帆校區到渝北校區有很多種走法,我們可以把走法看成N個節點的有向圖,假設宏帆代表0號節點,渝北代表N-1號節點,GM想從0號節點出發,到N-1號節點,但必須恰好在T時刻到達!你能告訴GM一共有多少種走法

原创 C++矩陣加速—————Warcraft III 守望者的煩惱

題目描述: 守望者-warden,長期在暗夜精靈的的首都艾薩琳內擔任視察監獄的任務,監獄是成長條行的,守望者warden擁有一個技能名叫“閃爍”,這個技能可以把她傳送到後面的監獄內查看,她比較懶,一般不查看完所有的監獄,只是從入口進入,然

原创 C++數論—————彈藥科技

題目描述: 經過精靈族全力抵擋,精靈終於堅持到了聯絡系統的重建,於是精靈向人類求助, 大魔法師伊扎洛決定弓}用博士的最新科技來抗敵。 伊扎洛:“博士,還沒好嗎?” 博士:“只差一步了!只需要在正確的位置裝上彈藥就可以了!” 博士的最新科技

原创 C++數論—————洛谷P2568 GCD

題目描述: 給定整數N,求1<=x,y<=N且Gcd(x,y)爲素數的數對(x,y)有多少對。 輸入: 一個整數N(1<=N<=10^7) 輸出: 答案 輸入樣例: 4 輸出樣例: 4 思路分析: 這一題是一個較簡單的模板題: 首先,

原创 C++矩陣加速例題斐波拉契數列變式—————TR的數列

題目描述: TR非常喜歡數學,經常一個人拿出草稿紙研究奇奇怪怪的數學問題,最近,他突然對數列產生了興趣,他找到一個數列,類似於斐波拉契,即:Tn=1*f1+2*f2+3*f3+……+n*fn    (fn爲斐波拉契的第n項值) 現在TR想