原创 數據結構實驗病毒感染檢測問題(C++)

         醫學研究者最近發現了某些新病毒,通過對這些病毒的分析,得知他們的DNA序列都是環狀的。現在研究者已收集了大量的病毒DNA和人的DNA數據,想快速檢測出這些人是否感染了相應的病毒。爲了方便研究,研究者將人的DNA和病毒DN

原创 洛谷P1057 傳球遊戲【遞歸+搜索】

上體育課的時候,小蠻的老師經常帶着同學們一起做遊戲。這次,老師帶着同學們一起做傳球遊戲。 遊戲規則是這樣的:nn個同學站成一個圓圈,其中的一個同學手裏拿着一個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的一個(左右

原创 洛谷P1025 數的劃分【dp】

將整數nn分成kk份,且每份不能爲空,任意兩個方案不相同(不考慮順序)。 例如:n=7n=7,k=3k=3,下面三種分法被認爲是相同的。 1,1,51,1,5; 1,5,11,5,1; 5,1,15,1,1. 問有多少種不同的分法。 輸入

原创 洛谷P1192 臺階問題【dp遞歸】

有NN級的臺階,你一開始在底部,每次可以向上邁最多KK級臺階(最少11級),問到達第NN級臺階有多少種不同方式。 輸入輸出格式 輸入格式:   兩個正整數N,K。   輸出格式:   一個正整數,爲不同方式數,由於答案可能很大,你需要輸出

原创 洛谷P1316 丟瓶蓋【二分+遞推】

陶陶是個貪玩的孩子,他在地上丟了A個瓶蓋,爲了簡化問題,我們可以當作這A個瓶蓋丟在一條直線上,現在他想從這些瓶蓋裏找出B個,使得距離最近的2個距離最大,他想知道,最大可以到多少呢? 輸入輸出格式 輸入格式:   第一行,兩個整數,A,B。

原创 全排列解析【遞歸方法】

定義          從n個元素中取出m個元素進行排列,當n=m時這個排列被稱爲全排列。 遞歸法           我們要對前n個數進行全排列,那麼首先我們可以發現第一位數可以是1~n中的任意一位,枚舉第一位數的n種可能,然後我們就可

原创 51nod1134 最長遞增子序列【動態規劃】

給出長度爲N的數組,找出這個數組的最長遞增子序列。(遞增子序列是指,子序列的元素是遞增的) 例如:5 1 6 8 2 4 5 10,最長遞增子序列是1 2 4 5 10。 Input 第1行:1個數N,N爲序列的長度(2 <= N <=

原创 [kuangbin帶你飛]專題1-23題目清單總結

[kuangbin帶你飛]專題1-23 專題一 簡單搜索 POJ 1321 棋盤問題POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 FliptilePOJ 1426 Find

原创 洛谷P1601 A+B Problem(高精)

題目描述 高精度加法,x相當於a+b problem,[b][color=red]不用考慮負數[/color][/b] 輸入輸出格式 輸入格式:   分兩行輸入a,b<=10^500   輸出格式:   輸出只有一行,代表A+B的值  

原创 51nod1079 中國剩餘定理【數論】

一個正整數K,給出K Mod 一些質數的結果,求符合條件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合條件的最小的K = 23。 Input 第1行:1個數N表示後面輸入的質數及模的數量。(2 <

原创 51nod1085 揹包問題【動態規劃】

在N件物品取出若干件放在容量爲W的揹包裏,每件物品的體積爲W1,W2……Wn(Wi爲整數),與之相對應的價值爲P1,P2……Pn(Pi爲整數)。求揹包能夠容納的最大價值。 Input 第1行,2個整數,N和W中間用空格隔開。N爲物品的數

原创 51nod1185 威佐夫遊戲 V2【博弈論】

有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子的數量,問最後誰能贏得比賽。 例如:2堆石子分

原创 51nod1183 編輯距離【動態規劃】

編輯距離,又稱Levenshtein距離(也叫做Edit Distance),是指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數。許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。 例如將kitten一字轉成

原创 洛谷P1443 馬的遍歷【BFS】

題目描述 有一個n*m的棋盤(1<n,m<=400),在某個點上有一個馬,要求你計算出馬到達棋盤上任意一個點最少要走幾步 輸入輸出格式 輸入格式:   一行四個數據,棋盤的大小和馬的座標   輸出格式:   一個n*m的矩陣,代表馬到達某

原创 最小生成樹之prim算法

最小生成樹的Prim算法也是貪心算法的一大經典應用。Prim算法的特點是時刻維護一棵樹,算法不斷加邊,加的過程始終是一棵樹。   Prim算法過程: 一條邊一條邊地加, 維護一棵樹。 初始 E = {}空集合, V = {任意節點} 循