原创 Dijkstra詳解

簡述: 讓我們考慮一下沒有負邊的情況。在Bellman-Ford算法中,如果dp[i]還不是最短距離的話,那麼即使進行dp[j]=d[i]+(從I 到j的邊的權值)的更新,dp[j]也不會變成最短距離。而且,即使dp[i]沒有變化,每一次

原创 Prim算法 最小值生成樹

前言: 給定一個無向圖,如果它的某個子圖中任意兩個頂點都互相連通並且是一棵樹, 那麼這棵樹就叫做生成樹( Spanning Tree )。如果邊上有權值,那麼使得邊權和最小的生成樹叫做最小生成樹( MST,Minimum Spanning

原创 Kruskal算法簡介

簡述: Kruskal算法按照邊的權值的順序從小到大查看一遍,如果不產生圈(重邊等也算在內),就把當前這條邊加入到生成樹中。至於這個算法爲什麼是正確的,其實和Prim算法證明的思路基本相同,在此就不詳細說明了。 接下來我們介紹如何判斷是否

原创 線段樹—簡潔明瞭版

1.線段樹的概念 線段樹是擅長處理區間的,形如下圖的數據結構。線段樹是一棵完美叉樹( Perfect Binary Tree )(所有的葉子的深度都相同,並且每個節點要麼是葉子要麼有2個兒子的樹),樹上的每個節點都維護一個區間。根維護的是

原创 樹狀數組詳解—簡潔明瞭版

簡介: 樹狀數組( Binary Indexed Tree,BIT )是能夠完成下述操作的數據結構。給一個初始值全爲0的數列a1, a2, ...,an ■給定i,計算ai+a2...+an; ■給定i和x,執行ai+=x 1.基於線段樹

原创 Jessica's Reading Problem

 題目: Jessica's Reading Problem ( POJ No.3320 ) 爲了準備考試,Jessica 開始讀-本很厚的課本。要想通過考試,必須把課本中所有的知識點都掌握。這本書總共有P頁,第i頁恰好有一個知識點ai

原创 推理題(40分)

前言: 今天在blink上看到了這一條動態,順道解決了 五、推理題(40分) 1、這道題的答案是( ) A、A  B、B C、C D、D 2、第5題的答案是() A、C B、D C、A D. B 3、以下選項中哪一題的答案與其它三項不同(

原创 輸出其位於斐波那契數列中的第幾項

題目: 給定一個正整數N (N>1) , 輸出其位於斐波那契數列中的第幾項。如果不存在於數列則輸出-1。在此我們規定數列的第一項是F(1)=1,第二項F(2)=1, ... 注:此題建議大家使用函數來進行模塊化編程,例如: void g

原创 Best Cow Line

題目:   輸入 N= 6 s = "ACDBCB" 輸出 ABCBCD(如下圖所示進行操作) 分析: 從字典序的性質上看,無論T的末尾有多大,只要前面部分的較小就可以。所以我們可以試一下如下貪心算法:  ■不斷取S的開頭和末尾中較小

原创 《加了pencil的ipad使用體驗,想入手的看過來》

前言 自從入手了ipad pro 11 +pencil之後,一直在不斷探索ipad所能在生活和工作當中扮演的角色,越探索越發現ipad所能做到的事情只能是想象不到地驚豔,只要大開腦洞就能夠發現很多很便捷舒適的操作,並大大延展了人以前需要大