以下の内容はhttps://blog.hamayanhamayan.com/entry/2018/10/06/013526より取得しました。


AscNumber(Easy) [yukicoder No.741]

https://yukicoder.me/problems/no/741

前提知識

解法

https://yukicoder.me/submissions/289853

この問題はN桁以下の数でAscNumberである数の個数を求めている。
 
桁DPをする。
DP[dgt][lst] := dgt桁まで確定していて最下位の桁の数がlstである組み合わせ
これは簡単な桁DPなので、実装する。

int N;
mint dp[1010101][10];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;

    rep(i, 0, 10) dp[1][i] = 1;
    rep(i, 1, N) rep(lst, 0, 10) {
        rep(nxt, lst, 10) dp[i + 1][nxt] += dp[i][lst];
    }
    
    mint ans = 0;
    rep(lst, 0, 10) ans += dp[N][lst];
    cout << ans << endl;
}



以上の内容はhttps://blog.hamayanhamayan.com/entry/2018/10/06/013526より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14