演算法競賽入門經典(第2版)第3章 陣列和字串
習題3-3 數數字 uva1225
感悟。1、直接看英文原題的輸入輸出樣例。
2、沒寫之前,思路就已成竹在胸了,寫下來也比較順暢,沒費什麼周折,想也沒想肯定一次ac。
3、結果runtime error,靜態檢查一遍**,沒有問題,重看英文題目,原來n<=10000,陣列開得太小了,馬上將s[1000]變成s[100000];提交ac。
4、該題有著 程式3-2開燈問題 程式3-4豎式問題 例題3-5生成元 影子。
附上**
環境dev-cpp4.9.9.2
#include
#include
char s[100000];//n<=10000,故陣列開得比較大
char t[10];
int a[10];
int main()
len=strlen(s);
for(i=0;i
習題 3 3 數數字
把前n n 10000 個整數順次寫在一起,123456789101112 數一數0 9各出現多少次 輸出10個整數,分別是0,1,2,9出現的次數 看了一些網上其他 發現其中有一些是有錯誤的。有些 開了一些很大的陣列,比如char s 10001 來存放輸入,這裡其實至少有三個問題。空間複雜度過大...
鯧數 數字dp
設從低到高第 len 1le n 1 位的數字為 x x,考慮 x x 與後面 len len 位組成逆序對的貢獻,先考慮 x 1x 1 時的貢獻,為 len 10l enle n 10 len,其中每個數字出現的次數都相同,再考慮 x 0,9 x 0 9 貢獻變為 len 10l en x 10 ...
count 數字計數 (數字dp)
給定兩個正整數a和b,求在 a,b 中的所有整數中,每個數碼 digit 各出現了多少次。input 輸入檔案中僅包含一行兩個整數a b,含義如上所述。output 輸出檔案中包含一行10個整數,分別表示0 9在 a,b 中出現了多少次。sample input 1 99 sample output...