原创 最小字符串

給定長度爲 N 的字符串 S,現在要構造一個長度爲 N 的字符串 T。T 開始的時候是空串,然後反覆進行以下兩個操作之一,直至 S 爲空串: 從 S 的頭部刪除一個字符,加到 T 的尾部從 S 的尾部刪除一個字符,加到 T 的尾部求字典序

原创 int, long, long long的範圍和使用

unsigned   int   0~4294967295    int   2147483648~2147483647   (21億,10位) unsigned long 0~4294967295 long   2147483648~

原创 九度題目1172_哈夫曼樹

題目描述: 哈夫曼樹,第一行輸入一個數n,表示葉結點的個數。需要用這些葉結點生成哈夫曼樹,根據哈夫曼樹的概念,這些結點有權值,即weight,題目需要輸出所有結點的值與權值的乘積之和。 輸入: 輸入有多組數據。 每組第一行輸入一個數n

原创 礦工冒險記

現在你控制的人物在一個N×M的場地中,左上角的方格爲 (0, 0),右下角爲 (N – 1, M – 1),你一開始的位置在 (SX, SY),你家的位置則在 (EX, EY)。身爲一個礦工,你身上早就有了好幾組鐵和鑽石,所以你正匆忙地趕

原创 夜跑

題目: 操場400米一圈,navi每晚跑N秒鐘,在[Ai,Bi]時間內,以Ci米每秒的速度勻速前進;watashi跑的方向與navi相反,總是以V米每秒的速度,勻速前進。           若兩人同時從同一起點,向相反的方向開跑,那麼在

原创 棧計算表達式

題目描述: 對於一個不存在括號的表達式進行計算 輸入: 存在多種數據,每組數據一行,表達式不存在空格 輸出: 輸出結果 樣例輸入: 6/2+3+3*4 樣例輸出: 18 本題表述很不清楚,通過AC代碼可知,數據都是整

原创 3-09. 隊列中的元素排序(20)

3-09. 隊列中的元素排序(20) 時間限制 100 ms 內存限制 32000 kB 代碼長度限制 8000 B 判題程序 Standard 給定一個隊列,請用一系列合法的隊列操作函數,包括:

原创 歸併排序求逆序對

題目: 現在給定一個有 N 個數的數列 Ai。若對於 i < j,有 Ai > Aj,則稱 (i, j) 爲數列的一個逆序對。 例如,<2, 3, 8, 6, 1> 有五個逆序對,分別是 (1, 5), (2, 5), (3, 4),

原创 3-07. 求前綴表達式的值(25)

3-07. 求前綴表達式的值(25) 時間限制 400 ms 內存限制 32000 kB 代碼長度限制 8000 B 判題程序 Standard 算術表達式有前綴表示法、中綴表示法和後綴表示法等形

原创 廣度優先搜索

1.簡介 廣度優先算法(Breadth-First-Search),又稱作寬度優先搜索,或橫向優先搜索,簡稱BFS,是一種圖形搜索演算法。簡單的說,BFS是從根節點開始,沿着樹的寬度遍歷樹的節點,如果發現目標,則演算終止。廣度優先搜索的實

原创 過河問題

現在有 N 個人想過河,但他們只有一條能容納兩個人的小船,且必須有一個人划船。每個人都有一個過河的時間,兩個人在船上時,過河時間取決於較慢的一人。 現在請問要讓 N 個人過河最少需要花多少時間? 輸入格式 一個整數 T,表示有多少組測試數

原创 用棧對隊列排序

給定一個隊列,裏面已有 N 個元素,此外還有一個空的棧(可認爲是無限大小的)。現在可以進行一系列操作,每次操作允許執行下列兩種操作之一: 把元素從隊列頭拿出來,塞到隊列尾或棧中把元素從棧頂拿出來,塞進隊列尾給定隊列原來的狀態和目標狀態,求

原创 堆棧的使用

題目描述:     堆棧是一種基本的數據結構。堆棧具有兩種基本操作方式,push 和 pop。Push一個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆棧的使用。 輸入:      對於每組測試數據,第一行是

原创 哈夫曼樹與哈夫曼編碼

定義: 給定n個權值作爲n個葉子結點,構造一棵二叉樹,若帶權路徑長度達到最小,稱這樣的二叉樹爲最優二叉樹,也稱爲哈夫曼樹(Huffman tree)。哈夫曼樹是帶權路徑長度最短的樹,權值較大的結點離根較近。 構造: 1.構成初始集合   

原创 黑白棋

黑白棋是一種羣衆喜聞樂見的棋類遊戲,雙方各執黑白一色棋子,在 8 * 8 的棋盤上進行比賽(棋盤初始佈局如下圖),雙方輪流下子,黑棋先手。 每次行動,玩家可以選擇在棋盤中任意的有效格子處下子。在落子後,會進行八個方向的翻轉操作。 翻轉操