原创 HDU 1593題解

find a way to escape Problem Description 一日,話說0068與泛舟湖上。忽見岸邊出現他的一大敵人elnil。0068當然不想落入elnil的魔爪,於是他就得想辦法逃脫。這個湖是一個很規則的圓

原创 記憶性遞歸

遞歸有時候會出現重複計算的情況(如下例題),因此爲了提高代碼效率,就需要進記憶性遞歸——即只對第一次出現的新數據進行計算並進行保存,而對於已經計算過的結果,只需將結果取出即可。(它可以提高效率,避免計算機進行重複已做過的完全相同的

原创 KMP算法----講解篇

衆所周知,KMP算法是字符串匹配算法。 那麼首先,我們來看看一般字符串匹配算法的過程: 一般字符串匹配算法(暴力匹配) 如圖。 兩個字符串T和P,我們傳統做法便是這樣: 1.首對齊,一個一個對比,碰到了不匹配的: 2.待檢

原创 KMP算法----代碼實現篇

通過學習kmp的思想和實現步驟,我們已經初步理解了kmp算法的運行過程,那麼接下來必然要學會代碼實現。現在,進行代碼實現吧! kmp主要就是兩步: 第一步,求出前綴表,也就是常說的next數組; 第二步,進行具體的匹配過程。

原创 關於多組輸入問題

1.已知有n組輸入數據 for(i=0;i<n;i++){ scanf(); } 2.未知組數據輸入,但是有停止條件 while(1){ scanf(); if(特判條件){//特殊輸入情況下終止數據輸入 break;

原创 初探遞歸(求解漢諾塔)

初探遞歸(求解漢諾塔) 有,X,Y,Z三個軸,要將X軸上的64個盤子從X軸移到Z軸。 對於遊戲玩法的分析拆解: –將X軸上的前63個盤子移到Y軸)。 –將最底下的第64個盤子移到Z軸。 –將Y軸上的63個盤子移到Z軸。 故,現在只

原创 HDU-2612-Find a way(BFS)題解-C語言

Find a way *Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s

原创 深搜(DFS)

深度優先搜索——不撞南牆不回頭 深搜是作爲一種遍歷或搜索圖和樹的算法。 思想:不撞南牆不回頭! 首先選取一個未訪問的點作爲源節點。從源節點選取一條路一直往下走,沿着當前頂點的邊,訪問這條路線,直到走不下去爲止。這時返回上一頂點,

原创 C語言qsort函數用法(個人筆記)

前言:我所羅列的用法僅是常用用法 衆所周知,排序很常見,而c語言有封裝好的函數,現在,我就來介紹一下; 在頭文件stdlib.h中 qsort(* a,n,sizeof(a[0]),cmp); 第一個參數a是一個指針類型變量,參與