原创 關鍵路徑問題的求解(鄰接表+隊列+棧)

因爲沒怎麼找到一些關鍵路徑的練習題,自己編了一個,學以致用 /* 描述如下: 我們保證只有一個源點和匯點; 第一行輸入頂點數 n 和邊數 m 下列m行爲起點到目標頂點編號以及距離(從1開始編號!想要fill的注意了(終點必須是

原创 求解樹中節點的距離:tarjan離線算法、轉化爲Floyd無向圖、BFS、DFS

//LCA離線算法 ,注意了,輸出肯定是無序的! //順序查找只能在主函數裏面再定義,注意while內的初始化問題啊! /* 6 5 1 2 1 3 2 4 2 6 3 5 3 1 5 4 6 3 5 */ #include

原创 C++二叉樹的層次構建、先序構建、層次遍歷、先序遍歷等

先序構建二叉樹,層次遍歷二叉樹 //層次構建二叉樹,先序遍歷二叉樹 //輸入樣例:12345000000 先序輸出 12453 #include <bits/stdc++.h> using namespace std; str

原创 北郵oj IP地址問題(非sscanf)方法

//假設sscanf沒學過的話..這樣吧~字符串無腦分割 #include <bits/stdc++.h> using namespace std; int main() { int T; cin>>T; while(T

原创 北郵OJ 301進程管理-網研14+文件系統的變體

本題主要是進行一個結構的化簡(利用mark標記數組查詢存在)和遞歸樹的查找、刪除,很有借鑑意義 同時,對文件系統的代碼進行改編,查詢目錄以及所有子目錄 AC代碼 #include <bits/stdc++.h> using n

原创 北郵oj---彙編-計算機二2014

題目 思路 核心思想:先處理數字,再統一處理指令 處理數字:把所有的進制轉化爲10進制,把所有要去賦值的的寄存器轉化爲他代表的數字 ;這些數字統稱爲我們要取處理的中介值 ,還是轉化爲10進制最方便,就算我們最後要輸出2進制,大

原创 有向圖判斷最小環和無向圖求解最小環方法

利用Floyd求解無向圖最小環 //給出一棵二叉樹,求兩個節點之間的距離。 //輸入格式 //第一行爲數據組數T //每組數據第一行整數n代表二叉樹節點的個數。 //接下來n行,每行兩個整數p,q,其中第K(1<=K<=n)行代表

原创 間隔問題(時間間隔,日期間隔等)

思路 對於求間隔問題,一般都可以利用通法:選取共同起點+取模運算 例題一 :時間間隔 /* 每組數據輸出一行,表示最少經過的分鐘數。 輸入樣例 2 7:00 7:00 7:00 8:00 輸出樣例 0 60 */ #include

原创 小頂堆、尋找寶藏、先序遍歷等父子關係的題型

思想 一開始用鄰接表加遞歸,總是超限,後來想想,有了父子關係,那麼輸入就是最好的判斷。 心得 判斷類的題目和求結果不一樣,判斷類的題目往往不用費常複雜的無腦運算,而是通過一些過程的比較和標記對flag進行改變,最終的出判斷結果。

原创 差分前綴和

//前綴和以及差分 #include <bits/stdc++.h> using namespace std; /* 5 1 2 3 4 5 2 5 2 2 5 output 9 */ int arr[15]; int temp

原创 20北郵軟件學院學碩上岸貼

初試情況 總分:357 政治:64 英語一:56(究極失敗經驗) 數學一:114 專業課807:123 首先談談感想吧,初試情況與我考試前的心理對比而言,是落差很大的,尤其是英語和數學吧,怎麼想着六級也考了500+,然而考試中

原创 DFS能否取消標記?(例題總結)

1、DFS在求最短的時候是要清除標記的,因爲可能你走通了,但是並不是最短的 2、求多少種方式的時候也是要取消標記的; 3、能不能的問題是不用取消標記的; 4、有幾塊區域的問題也是不同取消標記的; //第一題:能否打通電話(保留標記

原创 北郵oj 468. 小妹妹送快遞

思路 寫了兩種方法:dijkstra和kruskal 求最短路徑的變體,改一下鬆弛條件即可。 最坑的是當c=0時,輸出爲1. 題目 時間限制 1000 ms 內存限制 65536 KB 題目描述 Mays王國的女王大人每天過着自由

原创 北郵機試 | bupt oj | 98. IP數據包解析

心得 我真就喜歡無腦分割字符串。。。 利用while(1)死循環,對char類型的兩種情況的處理。 另外,有個易錯點:對於char類型,在格式轉換時,是不好直接和c<'10’比較的,頂多比到9,這我都能犯錯。。裂開 題目 IP數據