原创 約瑟夫問題

題目描述 n個人(n<=100)圍成一圈,從第一個人開始報數,數到m的人出列,再由下一個人重新從1開始報數,數到m的人再出圈,……依次類推,直到所有的人都出圈,請輸出依次出圈人的編號. 輸入格式: n m 輸出格

原创 隊列安排

題目描述 一個學校里老師要將班上N個同學排成一列,同學被編號爲1~N,他採取如下的方法: 1.先將1號同學安排進隊列,這時隊列中只有他一個人; 2.2~N號同學依次入列,編號爲i的同學入列方式爲:老師指定編號爲

原创 FIFO隊列(First In First Out)和優先隊列

queue<類型名> q; q.size() — 返回隊列中元素個數 q.empty() — 若隊列爲空,返回true ,否則返回false q.pop() — 刪除隊首元素,但不返回其值 q.front() — 返回隊

原创 低價購買

低價購買 總時間限制: 1000ms 內存限制: 65536kB 描述 “低價購買”這條建議是在股票市場取得成功的一半規則。要想被認爲是偉大的投資者,你必須遵循以下購買建議:“低價購買,再低價購買”。每次購買一支股

原创 遞歸

2的冪表示法 任何一個正整數都可以用2的冪次方表示,例如:137=2^7+2^3+2^0。同時約定方次用括號來表示,即ab可表示爲a(b)。由此可知,137可表示爲: 2(7)+2(3)+2(0) 進一步:7=2^2

原创 廣度優先搜索

以UOJ上的騎士遊歷爲例 傳送門 struct note { int x; int y; int s; } que[2501]; que[tail].x = 1; //x座標 que[tail

原创 導彈攔截

傳送門 題目描述 某國爲了防禦敵國的導彈襲擊,發展出一種導彈攔截系統。但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的導彈來襲。由於該系

原创 後綴表達式

題目描述 所謂後綴表達式是指這樣的一個表達式:式中不再引用括號,運算符號放在兩個運算對象之後,所有計算按運算符號出現的順序,嚴格地由左而右新進行(不用考慮運算符的優先級)。 如:3*(5–2)+7對應的後綴表達式爲:

原创 最大子段和

題目描述 給出一段序列,選出其中連續且非空的一段使得這段和最大。 輸入格式: 第一行是一個正整數N,表示了序列的長度。 第2行包含N個絕對值不大於10000的整數A[i],描述了這段序列。 輸出格式:

原创 C++封裝的全部總結

類 類是對現實生活中一類具有共同特徵的事物的抽象 類是面向對象程序設計實現信息封裝的基礎。 類是一種用戶定義類型,也稱類類型。 類的實例稱爲對象。 類的實質是一種數據類型 面向對象原則 以對象爲中心,以誰做什

原创 atoi 和 atof (把數字字符串轉化爲數字儲存)

int atoi(char *s) 如果字符串內容是整數就返回該整數,否則返回0 double atof(char *s) 同上,不過返回浮點型 #include<iostream> #include<cst

原创 最大子矩陣

描述: 已知矩陣的大小定義爲矩陣中所有元素的和。給定一個矩陣,你的任務是找到最大的非空(大小至少是1 * 1)子矩陣。 比如,如下4 * 4的矩陣 0 -2 -7 0 9 2 -6 2 -4 1 -4 1

原创 查找最接近的元素

查找最接近的元素 描述 在一個非降序列中,查找與給定值最接近的元素。 輸入 第一行包含一個整數n,爲非降序列長度。1 <= n <= 100000。 第二行包含n個整數,爲非降序列各元素。所有元素的大小均

原创 函數模板

Tmp爲用戶自定義的名字 template< typename Tmp> 適用於所有類型 #include<iostream> #include<cstring> #include<cstdlib> #include<c

原创 讀入輸出優化

就是用getchar(); int read_In() { int a = 0; bool minus = false; char ch = getchar(); while (!(ch == '-