基礎的數字dp,我不大會。
數字dp的ppt:
建議先看一下ppt,我是按照ppt裡面差不多的方式寫的,也參考了別人寫的。dp[i][j]表示長度為i位以j開頭的數字到1(閉區間)之間包含多少1
#include
#include
#include
using
namespace
std;
int dp[15][15];
int digit[15];
int dlen;
void init()
}}void todight(int n)
}int query(int n)
return res;
}int main()
下邊這寫法是參考的:
參考**裡給的注釋講的挺好,我是單步了幾遍才看懂的。
#include
#include
#include
using
namespace
std;
//dp[i]表示i為數字到1之間一共包含的1的個數
int dp[15];
void init()
int main()
else
if(cur == 1)
tail = tail + cur*ten;
ten *= 10;
}printf("%d\n",res);
return
0;}
51nod 1009 數字1的數量
1009 數字1的數量 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏 關注 給定乙個十進位制正整數n,寫下從1開始,到n的所有正數,計算出其中出現所有1的個數。例如 n 12,包含了5個1。1,10,12共包含3個1,11包含2個1,總共5個1。input ...
51 nod 1009 數字1的數量
1009 數字1的數量 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏 關注 給定乙個十進位制正整數n,寫下從1開始,到n的所有正數,計算出其中出現所有1的個數。例如 n 12,包含了5個1。1,10,12共包含3個1,11包含2個1,總共5個1。input ...
51nod 1009 數字1的數量
1009 數字1的數量 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 給定乙個十進位制正整數n,寫下從1開始,到n的所有正數,計算出其中出現所有1的個數。例如 n 12,包含了5個1。1,10,12共包含3個1,11包含2個1,總共5個1。input 輸入n 1 ...