洛谷 P4317 花神的數論題(數字dp)

2021-09-29 11:17:30 字數 967 閱讀 7108

用數字dp計算有 n以內的數字 有k 個 1的數字有多少個,然後快速冪。

數字dp 直接在二進位制位上進行列舉。

坑點:1e7 + 7 不是素數,但數字dp 內部無須取模數值不會爆long long

**:

#include

using

namespace std;

typedef

long

long ll;

const

int maxn =

1e7+

100;

const ll mod =

1e7+7;

ll dp[70]

[70][

2],n;ll fpow

(ll a,ll b)

return r;

}ll dfs

(int cur,

int num,

int limit)

if(num <

0|| cur +

1< num)

return0;

if(dp[cur]

[num]

[limit]!=-

1)return dp[cur]

[num]

[limit]

; ll &ans = dp[cur]

[num]

[limit]=0

;int up = limit ?

(n >> cur)&1

:1;for

(int i =

0; i <= up; i++

)return ans;

}ll solve()

return res;

}int

main()

洛谷P4317 花神的數論題

話說花神這天又來講課了。課後照例有超級難的神題啦 我等蒟蒻又遭殃了。花神的題目是這樣的 設 text i 表示 i 的二進位制表示中 1 的個數。給出乙個正整數 n 花神要問你 prod text i 也就是 text 1 sim text n 的乘積。設 f i 為有 i 個一的方案數。可以用組合...

洛谷 P4317 花神的數論題(數字dp)

題目背景 眾所周知,花神多年來憑藉無邊的神力狂虐各大 oj oi cf tc 當然也包括 ch 啦。題目描述 話說花神這天又來講課了。課後照例有超級難的神題啦 我等蒟蒻又遭殃了。花神的題目是這樣的 設 text i sum i 表示 ii 的二進位制表示中 11 的個數。給出乙個正整數 nn 花神要...

P4317 花神的數論題

題目背景 眾所周知,花神多年來憑藉無邊的神力狂虐各大 oj oi cf tc 當然也包括 ch 啦。題目描述 話說花神這天又來講課了。課後照例有超級難的神題啦 我等蒟蒻又遭殃了。花神的題目是這樣的 設 text i sum i 表示 ii 的二進位制表示中 11 的個數。給出乙個正整數 nn 花神要...