原创
2022-02-10 15:35:36
8 阅读
原创
2022-02-10 14:45:25
81 阅读
原创
2022-02-10 14:45:14
15 阅读
首先对于给定的n,dn,dn,d,计算[0,n][0,n][0,n]中数字ddd出现的次数是很容易的在数位dpdpdp强大的复杂度下只需要O(数位)O(数位)O(数位)就能得出结论但是仔细思考发现直接求不超过k的最大答案不好求当d确定时,记dp[n]为[0,n]中d出现的次数当d确定时,记dp[n]
原创
2022-02-10 14:44:50
42 阅读
原创
2022-02-10 14:44:13
43 阅读
原创
2022-02-10 14:37:13
8 阅读
原创
2022-02-10 14:35:09
57 阅读
原创
2022-02-10 14:35:01
11 阅读
原创
2022-02-10 14:32:57
36 阅读
原创
2021-08-26 16:03:16
104 阅读
原创
2021-08-26 16:03:14
77 阅读
原创
2021-08-26 16:03:12
73 阅读
原创
2021-08-26 15:23:23
37 阅读
原创
2021-08-26 15:23:21
26 阅读
首先对于给定的n,dn,dn,d,计算[0,n][0,n][0,n]中数字ddd出现的次数是很容易的在数位dpdpdp强大的复杂度下只需要O(数位)O(数位)O(数位)就能得出结论但是仔细思考发现直接求不超过k的最大答案不好求当d确定时,记dp[n]为[0,n]中d出现的次数当d确定时,记dp[n]为[0,n]中d出现的次数当d确定时,记dp[n]为[0,n]中d出现的次数如果dp[n]==n,那么肯定直接输出n了如果dp[n]==n,那么肯定直接输出n了如果dp[n]==n,那么肯定直接输出n了
原创
2021-08-26 15:23:12
40 阅读
临时去补的指数型母函数,有点搞啊…核心思想就是数位DP计算发现没有限制后,就可以直接计算答案了#include <bits/stdc++.h>using namespace std;typedef long long ll;#define int long longint l,r,d;int a[29],fac[29],s[29];long double c1[29],c2[29],g[29],f[29];map<vector<int>,int>mp;
原创
2021-08-26 15:23:10
51 阅读
emm,这题和数位dp关系不大但是思维,代码能力需要比较厉害注意到数据非常大,所以数位dp的O(n)查询不可取但是x个问号可以组成10x个数但是x个问号可以组成10^x个数但是x个问号可以组成10x个数所以高位的?大部分都应该是0所以高位的?大部分都应该是0所以高位的?大部分都应该是0直接dp后30个问号即可,这样前面问号都填0,有1030个数字直接dp后30个问号即可,这样前面问号都填0,有10^{30}个数字直接dp后30个问号即可,这样前面问号都填0,有1030个数字这些组成方案中,肯定超
原创
2021-08-26 15:23:08
35 阅读
原创
2021-08-26 15:23:02
70 阅读