原创 n-皇后問題

題目描述 n-皇后問題是指將 n 個皇后放在 n∗n 的國際象棋棋盤上,使得皇后不能相互攻擊到,即任意兩個皇后都不能處於同一行、同一列或同一斜線上。 現在給定整數n,請你輸出所有的滿足條件的棋子擺法。 輸入格式 共一行,包含整

原创 樹與圖的深度優先遍歷

樹與圖的深度優先遍歷*: 樹其實也是圖的一種 圖: 分爲有向圖和無向圖 圖的儲存: 第一種:鄰接矩陣,就是一個二維數組,缺點:當點和邊特別多的時候,存不下,一般用的比較少,而且非常浪費空間 第二種:鄰接表:由n個單鏈表組成,也可

原创 樹的重心

題目描述 給定一顆樹,樹中包含n個結點(編號1~n)和n-1條無向邊。 請你找到樹的重心,並輸出將重心刪除後,剩餘各個連通塊中點數的最大值。 重心定義:重心是指樹中的一個結點,如果將這個點刪除後,剩餘各個連通塊中點數的最大值最小

原创 哈希表(散列表)

簡介: 哈希表又稱爲散列表,是實現字典操作的一種有效的數據結構。通過哈希函數將關鍵字映射到表中的某個位置上進行存放,以實現快速插入和查詢的。時間複雜度可達到O(n). 爲什麼要用到哈希:比如說有n(1<=n<=1e6)個數,當給你

原创 最大異或對

Acwing->143.最大異或對 題目描述 在給定的N個整數A1,A2……AN中選出兩個進行xor(異或)運算,得到的結果最大是多少? 輸入格式 第一行輸入一個整數N。 第二行輸入N個整數A1~AN。 輸出格式 輸出一個整

原创 單調棧1

題目描述 給定一個長度爲N的整數數列,輸出每個數左邊第一個比它小的數,如果不存在則輸出-1。 輸入格式 第一行包含整數N,表示數列長度。 第二行包含N個整數,表示整數數列。 輸出格式 共一行,包含N個整數,其中第i個數表

原创

堆:一種支持插入,刪除,查詢最值的數據結構,是一顆完全二叉樹,實際上就是一個優先隊列priority_queue,這裏我們用數組的實現這個堆 大根堆:樹中的任意一個節點的權值都小於等於其父節點 小根堆:樹中的任意一個節點的權值都大

原创 Trie(字典樹)

Trie(字典樹): 一種用於實現字符串快速檢索的多叉樹結構 Trie插入: 當需要插入一個字符串s時,我們令一個指針P起始指向根節點。然後,依次掃描S中的每個字符c: 若P的c字符指針指向一個已經存在的節點Q,則令P = Q

原创 數的進制轉換

題目描述 編寫一個程序,可以實現將一個數字由一個進制轉換爲另一個進制。 這裏有62個不同數位{0-9,A-Z,a-z}。 輸入格式 第一行輸入一個整數,代表接下來的行數。 接下來每一行都包含三個數字,首先是輸入進制(十進制表示)

原创 [藍橋杯][2017年第八屆真題]對局匹配

題目描述 小明喜歡在一個圍棋網站上找別人在線對弈。這個網站上所有註冊用戶都有一個積分,代表他的圍棋水平。 小明發現網站的自動對局系統在匹配對手時,只會將積分差恰好是K的兩名用戶匹配在一起。如果兩人分差小於或大於K,系統都不會將他們

原创 802. 區間和(離散化)

題目描述 假定有一個無限長的數軸,數軸上每個座標上的數都是0。 現在,我們首先進行 n 次操作,每次操作將某一位置x上的數加c。 近下來,進行 m 次詢問,每個詢問包含兩個整數l和r,你需要求出在區間[l, r]之間的所有數的和。

原创 130.火車進出棧問題(高精度+壓位+質因數分解消除除法**)

題目描述 一列火車n節車廂,依次編號爲1,2,3,…,n。 每節車廂有兩種運動方式,進棧與出棧,問n節車廂出棧的可能排列方式有多少種。 輸入格式 輸入一個整數n,代表火車的車廂數。 輸出格式 輸出一個整數s表示n節車廂出棧的可能排

原创 826. 單鏈表

題目描述 實現一個單鏈表,鏈表初始爲空,支持三種操作: (1) 向鏈表頭插入一個數; (2) 刪除第k個插入的數後面的數; (3) 在第k個插入的數後插入一個數 現在要對該鏈表進行M次操作,進行完所有操作後,從頭到尾輸出整個鏈表。

原创 最大子矩陣(前綴和+貪心)

題目描述 給定一個包含整數的二維矩陣,子矩形是位於整個陣列內的任何大小爲1 * 1或更大的連續子陣列。 矩形的總和是該矩形中所有元素的總和。 在這個問題中,具有最大和的子矩形被稱爲最大子矩形。 例如,下列數組: 0 -2 -7 0

原创 快速排序

題目描述 給定你一個長度爲n的整數數列。 請你使用快速排序對這個數列按照從小到大進行排序。 並將排好序的數列按順序輸出。 輸入格式 輸入共兩行,第一行包含整數 n。 第二行包含 n 個整數(所有整數均在1~109範圍內),表示整