原创 NEFU 隊列

大一寒假訓練七(隊列) 報數-隊列-約瑟夫環 #include <bits/stdc++.h> using namespace std; int main() { int m,n; cin>>n>>m; q

原创 ACM選修課5 貪心法

貪心法 部分最優,結果最優(需證明) 貪心問題的特徵: 1、一個問題的最優解包含其子問題的最優解 2、整體最優解可以通過局部的最優的選擇 例題 老鼠的旅行 #include <bits/stdc++.h> using namesp

原创 ACM公選課7/8 DP算法

DP算法 動態規劃法設計算法一般分成三個階段: (1)分段:將原問題分解爲若干個相互重疊的子問題; (2)分析:分析問題是否滿足最優性原理,找出動態規劃函數的遞推式; (3)求解:利用遞推式自底向上計算,實現動態規劃過程。 動態

原创 Washall算法

Washall算法可由一個圖的鄰接矩陣求它的可達矩陣,形式上很簡單,就是一個三層循環, 問題引出:在一個圖結構中,常常需要找兩個節點之間有沒有一條通路(通路長任意),也就是任意兩點之間的可達情況,我們很自然會聯想到用鄰接矩陣來求可

原创 建立單調有序鏈表的兩種方法及具體操作

方法一:先建立鏈表,後對鏈表進行排序 #include <stdio.h> #include <stdlib.h> typedef struct LNode { int data; struct LNode *ne

原创 ACM選修課6 二分法與構造矩陣

二分法 lower_bound()返回值是一個迭代器,返回指向大於key的第一個值的位置 使用:lower_bound(a,a+8,key)-a upper_bound()返回值是一個迭代器,返回指向大於等於key的第一個值的位置

原创 ACM選修課5

貪心法 部分最優,結果最優(需證明) 貪心問題的特徵: 1、一個問題的最優解包含其子問題的最優解 2、整體最優解可以通過局部的最優的選擇

原创 ACM選修課4

高精度算法 stirling公式:n!~ (n/e)n(2*pai*n)1/2^ (n趨向正無窮成立 當n大於100時可用)

原创 ACM選修課3

遞歸算法 定義:自己調用自己(需要調用棧來執行) 兩個基本要素:邊界條件(何時結束)和 遞歸模式(大問題如何轉化爲小問題) 關鍵:根據遞推關係式寫程序(用數學歸納法證明) 注意:遞歸算法在數據量特別大的時候會出現段錯誤(例如:遞歸

原创 流程控制語句

if 條件測試語句 在Linux系統編寫shell腳本中,if 語句的使用比c語言中要複雜一點 linux 系統中 if 條件測試語句以 if 開始,fi 結束 包含了 then else 等更加口語化的表達 elif 類似於在c

原创 NEFU 字符串string

基本知識 1、string 的訪問 cin>>str; cout<<str<<endl; printf("%s\n",str.c_str()); 用 printf 語句輸出時不太一樣 2、 string 的運算 字符串可以做“加法

原创 洛谷 深度優先搜索

從某個狀態開始,不斷轉移狀態直到無法轉移,在退回前一步,繼續轉移其他狀態,如此不斷重複得到解的過程即爲深度優先搜索。採用遞歸函數實現較爲簡單 例題 部分和問題 給定n個正數,從中選出若干數,使其結果爲一個固定值k,能輸出yes,不

原创 洛谷 暴力 簡化循環

P2089 烤雞 #include <bits/stdc++.h> using namespace std; int main() { int x; int res=0; cin>>x; //時間複

原创 洛谷 簡單的模擬2

P1056 排座椅 #include <bits/stdc++.h> using namespace std; struct h { int id,num; } x[1200],y[1200]; int cmp(const

原创 洛谷 第一次寫這麼麻煩的代碼

P1022 計算器的改良 #include <bits/stdc++.h> using namespace std; char ch[1000000000],x; double xs[1000000],cs[1000000];/