原创 C++ STL中queue的使用

queue模版需要定義兩個模版參數,一個是元素類型,一個是容器類型,元素類型是必要的,容器類型是可選的,默認爲dqueue類型。 定義queue對象的示例代碼如下: queueq1; queueq2; queue的基本操作有:

原创 NOJ 1214 Catalan數

2016.10.14 【題目描述】 1214.Catalan數 時限:100ms 內存限制:10000K 總時限:1000ms 描述 令h(0)=1,h(1)=1,Catalan數滿足遞歸式:h(n)= h(0)*h(n-1

原创 NOJ 1541 加1乘2平方

2016.11.3 【題目描述】 1541.加1乘2平方 時限:1000ms 內存限制:10000K 總時限:3000ms 描述 給定兩個正整數m、n,問只能做加1、乘2和平方這三種變化,從m變化到n最少需要幾次 輸入 輸

原创 選擇排序

2016.10.29 【算法思想】 選擇排序算法很簡單,每次找到當前無序序列中最大的一項,安排到有序序列的最後。 【算法分析】 時間複雜度O(n2),是不穩定排序 【代碼實現】 # include <stdio.h> int

原创 回溯算法總結

2016.11.5 【算法框架】 void search(int k) { if (滿足條件) 輸出解 else { 枚舉解的每一種可能性

原创 NOJ 1453 篩法

2016.10.10 【題目描述】 1453.篩法(Sieve Method) 時限:1000ms 內存限制:10000K 總時限:3000ms 描述 用篩法求[a,b]中的素數。 輸入 2個正整數:a b。 a、b均在

原创 不定方程

對於不定整數方程pa+qb=c,若 c mod gcd(p, q) = 0,則該方程存在整數解,否則不存在整數解。 上面已經列出找一個整數解的方法,在找到p*a + q*b = gcd(p, q)的一組解p0,q0後,將p*

原创 NOJ 1036 數字排序

2016.10.28 【題目描述】 1036.數字排序 時限:1000ms 內存限制:10000K 總時限:3000ms 描述 給你N個數字,請用冒泡法對這N個數字進行降序排序,並輸出結果 輸入 第一行爲N,N<=20 ;

原创 NOJ 1001 二分查找

2016.10.28 【題目描述】 1001.二分查找 時限:1000ms 內存限制:10000K 總時限:3000ms 描述 給定一個單調遞增的整數序列,問某個整數是否在序列中。 輸入 第一行爲一個整數n,表示序列中整數

原创 乘法逆元

定理:如果a和m互質,並且m > 1,那麼a模m的逆元存在。且逆元在模m的完全剩餘系中唯一。 證明:根據貝祖定理,gcd (a, m) = 1, 存在正數 s 和 t 滿足等式 sa+tm = 1,那麼sa+tm ≡ 1 (mo

原创 NOJ 1043 跳馬

2016.11.11 【題目描述】 1043.跳馬 時限:1000ms 內存限制:10000K 總時限:3000ms 描述 現有一200*200大小的國際象棋棋盤,棋盤中僅有一個馬,給定馬的當前位置(S)和目標位置(T),求

原创 NOJ 1018 選太子

2016.12.27 【問題描述】 描述 某皇帝有2m個兒子,現在要從中選出一個做太子,皇帝不知道該把那一個皇子立爲太子,於是決定用下面的方法來選出太子,設每個太子的編號分別1、2、3、…、2m,按順時針方向站成一個圓圈,現在

原创 NOJ 1007 8皇后問題

2016.10.19 【題目描述】 8皇后問題 時限:1000ms 內存限制:10000K 總時限:3000ms 描述: 輸出8皇后問題所有結果。 輸出: 每個結果第一行是No n:的形式,n表示輸出的是第幾個結果;下面8行

原创 NOJ 1042 電子老鼠闖迷宮

2016.11.3 【題目描述】 1042.電子老鼠闖迷宮 時限:1000ms 內存限制:10000K 總時限:3000ms 描述 有一隻電子老鼠被困在如下圖所示的迷宮中。這是一個12*12單元的正方形迷宮,黑色部分表示建築

原创 POJ 1061 青蛙的約會

2016.11.15 【題目描述】 Description 兩隻青蛙在網上相識了,它們聊得很開心,於是覺得很有必要見一面。它們很高興地發現它們住在同一條緯度線上,於是它們約定各自朝西跳,直到碰面爲止。可是它們出發之前忘記了一件