原创 【算法分類概述三】—【動態規劃】

(1)算法總體思想:動態規劃算法與分治法類似,也是將問題分解成若干個子問題。但分解的子問題不是相互獨立的,由於動態規劃是自底向上的計算方法,上層需要用到底層的計算結果,所以我們要用到已經解決的子問題的答案。這裏也就決定了分治法和動態規劃的

原创 【算法分類概述二】--【遞歸與分治策略】

【遞歸】 (1)定義:遞歸是指函數調用自身或調用其他函數序列時的情況名稱,其中一個函數最終再次調用第一個函數。它是計算機科                       學和數學中一種重要的解題工具。它在編程語言中用於定義語言語法,在數據結

原创 【算法分類概述一】——【算法引論】

算法設計與分析課上主要講了六種算法,分別是: (1)遞歸與分治策略; (2)動態規劃; (3)貪心算法; (4)回溯法; (5)分支限界法; (6)概率算法; 雖然不多,但我覺得每個都是很經典,很有用的方法。它們各自有各自的特點和應用於不

原创 【算法實驗一】--【遞歸分治】--歸併排序

1002.歸併排序 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 給定一個數列,用歸併排序算法把它排成升序。   輸入 第一行是一個整數n(n不大於10000),表示要排序的數的個數; 下面一行是用空格隔開的n

原创 【算法實驗一】--【遞歸分治法】--窮舉n位二進制數

1323.窮舉n位二進制數 時限:100ms 內存限制:10000K  總時限:300ms 描述 輸入一個小於20的正整數n,要求按從小到大的順序輸出所有的n位二進制數,每個數佔一行。   輸入 輸入一個小於20的正整數n。   輸出 按

原创 【算法實驗三】--【分支限界法】--推箱子

1326.推箱子 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 絕大多數人都玩過推箱子的遊戲,控制一個人將箱子推動到目標位置即獲得勝利。現請你編寫一個程序,判斷將箱子推到目標位置至少需要多少步。   輸入 推箱

原创 【算法實驗二】--【回溯法】--農場灌溉問題

1144.農場灌溉問題 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 一農場由圖所示的十一種小方塊組成,藍色線條爲灌溉渠。若相鄰兩塊的灌溉渠相連則只需一口水井灌溉。   輸入 給出若干由字母表示的最大不超過50

原创 【算法實驗三】--【分支限界法】--跳馬

1043.跳馬 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 在國際象棋中,馬的走法與中車象棋類似,即俗話說的“馬走日”,下圖所示即國際象棋中馬(K)在一步能到達的格子(其中黑色的格子是能到達的位置)。 現有一

原创 【算法實驗二】--【回溯法】--字母轉換

1143.字母轉換 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 通過棧交換字母順序。給定兩個字符串,要求所有的進棧和出棧序列(i表示進棧,o表示出棧),使得字符串2在求得的進出棧序列的操作下,變成字符串1。輸

原创 【算法實驗二】--【回溯法】--圖的m着色問題

1575.圖的m着色問題 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 給定無向連通圖G和m種不同的顏色。用這些顏色爲圖G的各頂點着色,每個頂點着一種顏色。如果有一種着色法使G中每條邊的2個頂點着不同顏色,則稱

原创 【算法實驗三】--【分支限界法】--特殊的二階魔方

1325.特殊的二階魔方 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 魔方大家應該都玩過。現在有一個特殊的二階魔方,它只有一面是白色,其餘五個面全是黑色。玩這個魔方當然也有特殊的規則,玩家只能通過六種方式去改

原创 【算法實驗三】--【分支限界法】--加1乘2平方

1541.加1乘2平方 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 最簡單的隊列的使用 #include <iostream> #include <queue> using namespace std; qu

原创 【算法實驗二】--【回溯法】--求圖像的周長

1145.求圖像的周長 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 給一個用 . 和X表示的圖形,圖形在上、下、左、右、左上、左下、右上、右下8個方向都被看作是連通的,並且圖像中間不會出現空洞,求這個圖形的邊

原创 【算法實驗二】--【回溯法】--三階幻方

1579.三階幻方 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 三階幻方是最簡單的幻方,又叫九宮格,是由1,2,3,4,5,6,7,8,9九個數字組成的一個三行三列的矩陣,其對角線、橫行、縱向的的和都爲15。

原创 【算法實驗三】--【分支限界法】--六數碼問題

1045.六數碼問題 時限:1000ms 內存限制:10000K  總時限:3000ms 描述 現有一兩行三列的表格如下: A B C D E F 把1、2、3、4、5、6六個數字分別填入A、B、C、D、E、F格子中,每個格子一個數字且各