關於數字DP的一些思考

2021-10-14 17:52:14 字數 782 閱讀 3543

題目:

輸入乙個整數 n ,求1~n這n個整數的十進位制表示中1出現的次數。

例如,輸入12,1~12這些整數中包含1 的數字有1、10、11和12,一共出現了5次。

int nums[20];

int dp[20][2][20];

//pos表示當前位置,從最高位開始處理

//s表示在之前的pos,數字有無小於最高上限

//ok表示當前狀態下1的個數

int dfs(int pos, int s, int ok)

int solve(int n)

return dfs(i - 1, 0, 0);

}int countdigitone(int n)

完全可以將題目改變,例如改為:

輸入乙個整數 n ,求1~n這n個整數的十進位制表示**現1的數字個數

例如,輸入12,1~12這些整數中包含1 的數字有1、10、11和12,一共4個數字出現了1

int nums[20];

int dp[20][2][2];

//pos表示當前位置,從最高位開始處理

//s表示在之前的pos,數字有無小於最高上限

//ok表示當前狀態下,是否出現過1

int dfs(int pos, int s, int ok)

int solve(int n)

return dfs(i - 1, 0, 0);

}int countdigitone(int n)

關於數字dp的一些思考

大致看完了claris的數字dp的pdf,感覺題目很厚實啊qaq。然後回過頭再總結一下 感覺也不算總結啊,就是日常吐槽。首先數字dp這個東西是有格式的。所以明天早上再找道題來把模板聯絡一下,盡量寫的標準化一點。由於數字dp的字符集不多,有些時候可以像狀壓dp一樣直接把每種數的簡單狀態壓在乙個數裡面。...

關於SpringIOC的一些思考

ioc是 依賴倒置原則 的乙個特例,說其是特例,就是說其具有 依賴倒置原則 的性質。依賴倒置原則強調的兩點是 上層模組和下次模組都依賴於抽象,二者之間通過這種抽象的東西聯絡在一起 具體可以依賴於抽象,而抽象不能依賴於具體。我認為spring提倡的 基於介面程式設計 就是為了遵循 依賴倒置原則 其中所...

關於sizeof 的一些思考

今天面試被問到sizeof,回來整理一下。1 定義 sizeof是c c 中的乙個操作符 operator 作用就是返回乙個物件或者型別所佔的記憶體位元組數。msdn上的解釋為 the sizeof keyword gives the amount of storage,in bytes,assoc...