原创 單源最短路徑算法

1.單源最短路徑以及Dijsktra算法 2.多源最短路徑以及Floyd算法 1.1單源最短路徑: 即從一個特定的點出發,尋找這個點到其他點的最短路徑 對於一個無權圖,BFS算法就可以了。但是對於加權圖,BFS行不通 1.2 Dijk

原创 隊列和堆棧

本文主要包含以下內容: 一.棧以及棧的實現 二.隊列以及隊列的兩種實現方式 三.總結 一.棧以及棧的兩種實現 1.什麼是棧? 入口和出口是同一個,遵循先進後出FILO的原則 2.棧的兩種實現 順序表方式: template<type

原创 1529ShippingBoat

題目: Shipping Routes 代碼:(AC) #include<iostream> #include<map> #include<stdio.h> #include<string.h> using namespace std

原创 fread feof 文件尾讀取重複的問題

問題:  多路歸併排序時,每次通過fread讀取小文件裏的一個double數據,通過feof判斷是否讀取結束,  結果,在最後總的排序文件中,每個小文件的最後一行的數據回重複一遍 原因:   feof只是檢查標誌位,如果是good則返

原创 08:病人排隊

原題:病人排隊 建立鏈表 思路,從左到右歷遍,如果年齡小於60,位置不變。           年齡大於60.   從鏈表的第一個點開始,找到第一個比它小的,插入到該位置 代碼:(AC) #incl

原创 699 - The Falling Leaves

原題 思路:先序歷遍建樹 從最左的一個結點p開始,輸出第一堆 當p不是根節點的時候: p=p->parent     cnt =p->e  +   p->left->right->e    +p->right->left->e; 當p是根

原创 3179: 最長單詞

題目:3179 最長單詞 求一串字符中的最長單詞,如果有多個,輸出最後一個 代碼如下: #include<iostream> #include<string.h> #include<stdio.h> using namespace std

原创 10099 - The Tourist Guide

題目大意: 找出從起點到終點路徑最小邊的最大值 這題有一個陷阱,假設最大值爲max,則每次運輸的人數只能爲max-1,因爲每次導遊要包含在運輸人數裏 思路: 貪心+最大生成樹kruskal算法 每次找最大的一條邊,如果這條邊連接了兩棵

原创 25幻方

原題幻方 代碼(AC) #include<iostream> #include<stdio.h> #include<string.h> using namespace std; int main() { int N; cin >>

原创 10034 Freckles

題目大意: 給你n個點的座標,任意兩個點都可以相連 讓你找出最小生成樹的總邊長 思路:最小生成樹問題         prim  or  kruskal 代碼: prim算法(AC) #include<iostream> #inclu

原创 STL容器之優先隊列

參考:拼裝小火車 要學會如何定義最小優先隊列、最大優先隊列 對於自己定義的結構體,如何定義最小、最大優先隊列 核心: //定義比較結構 struct cmp1{ bool operator ()(int &a,int &b){

原创 補充

1.cin讀取字符串遇到空白會停止,並在末尾加上\0