原创 算法競賽入門 第三章習題

習題3-1 分數統計 使用map,可以很好地統計每個詞出現的次數,而不用擔心用數組時元素爲浮點型的問題。 大致過程:先讀入到map,map會自動按照key排序,遍歷一次map獲得value的最大值,再遍歷一次獲得value=maxvalu

原创 算法導論+編程之美,查找數組中最大值和最小值

查找數組中最大值和最小值, 方法一:分治法,一分爲二,分別查找子數組中最大值和最小值,合併時取兩個子數組的較大者和較小者。f(n) = 2f(n-1)+2;f(n)=1.5n-2; 方法二:將數組中元素每兩個一組,先比較每組中兩個元素,

原创 算法入門競賽 5.4.2 因子和階乘

重點: 1.數組P[101]:若i爲素數,則P[i]=1,反正,P[i]=0; 2.數組primer[]:依次爲每個素數,2,3,5,7,11... 3.數組result[101]:若2的指數爲i,則result[2] = i; 程序先生

原创 2013編程之美全國挑戰賽 長方形

原題連接:http://programming2013.cstnet.cn/qualification/problem/2 題目描述: 時間限制: 1000ms 內存限制: 256MB 描述 在 N 條水平線與 M 條豎直線構

原创 算法競賽入門 5.4.1 Cantor的數表

重點: 1.按對角線第i行有i個元素,每個元素的分子+分母=i+1,且當i爲奇數時,分母從1增加到i;當i爲偶數爲,分子從1增加到i; 實現代碼: #include <iostream> #include <stdio.h> usin

原创 算法競賽入門 3-3 豎式問題

實現代碼如下: #include <iostream> #include <iomanip> #include <stdio.h> #include <string> using namespace std; bool Solute(i

原创 編程之美2.10尋找數組中的最大值和最小值代碼

P161 分治法求解,複雜度爲f(N) = 1.5N-1; 代碼如下:比較簡單 #include <iostream> using namespace std; void FindMaxAndMin(int num[],int l

原创 關於vector.size()返回值

vector.size()返回值類型爲size_type,Member type size_type is an unsigned integral type,即無符號整數; 這也是以下語句總是出錯的原因 for(vector<

原创 算法入門 3-4迴文

大致過程爲:先預處理,將非字母字符去掉,並將所有大寫字母轉爲小寫字母;然後從第二個字符開始作爲中間元素查找最長的迴文,並記錄最長的長度和位置; 難點是:輸出爲原輸入字符串的子串,這裏用的方法和作者的一樣,用數組p[]記錄預處理後的每個字符

原创 編程之美讀書筆記之1.11~1.13 一排石頭的遊戲

1.11 要求是N塊石頭排成一排,位置固定,A和B每次取任意一塊或者相鄰兩塊,最後取光者獲勝;使用對稱策略,先取者B先取中間的一個(奇數個)或者兩個(偶數個),然後取跟A對稱的位置相同的個數的石頭即可。先取者獲勝; 擴展問題1:條件不變

原创 編程之美讀書筆記之2.16求數組中最長遞增子序列

1.自己的解題思路是用動態規劃的思想,從後往前遍歷 定義f(x)表示以a[x]爲最小元素的最長遞增子序列的長度;則f(n-1)=1; f(i) = 1,如果對於任意的j>i有 a[i]>=a[j]; f(i)=1+f(j),其中j滿足a[

原创 win7中VC6.0 visual C++6.0無法打開文件和向工程中添加文件的解決辦法【已添加部分註釋】

具體做法如下: 1. 從本文下方的下載地址下載FileTool.dll,並將FileTool.dll解壓至VC安裝目錄中。 2. 在VC6.0中點擊

原创 遇到的問題

1.scanf函數 在讀入數據時,先讀入指定格式的數據,忽略後面的字符。 例如:scanf("%d",&num);輸入1234abc,可以讀入,此時num=1234,而abc還在標準輸入中,用getchar函數可以驗證; 類似的sscan

原创 算法競賽入門 例題3-2 蛇形填數P35

代碼如下: 每次循環打印一個外圈正方形,主要是用length控制邊長。n爲奇數時需要特殊處理下,setw(n)用來設置輸出時的位寬。 #include <iostream> #include <iomanip> #define N 1

原创 算法競賽入門 5.3.2 字母重排

重點: 1.用vector保存字典單詞; 2.用sort函數對字典單詞排序; 3.匹配每個單詞,遍歷一次字典(可以對字典的單詞和查找單詞按字符排序,或者用map統計每個字符出現的次數間接比較大小) 遺留問題:??? 第24行代碼改爲: