BZOJ 3679 数字之积 数位DP
思路:数位DP 提交: \(2\) 次 错因:进行下一层 \(dfs\) 时的状态转移出错 题解: 还是记忆化搜索就行,但是要用 \(map\) 记忆化。 见代码 #include<cstdio> #include<iostream> #include<map> #define R register int #define ll long long using namespace std; namespace Luitaryi { template<class I> inline I g(I& x) { x=0; register I f=1; register char ch; while(!isdigit(ch=getchar())) f=ch=='-'?-1:f; do x=x*10+(ch^48); while(isdigit(ch=getchar())); return x*=f; } ll n,l,r,num[19],len,stk[19],top; map<ll,ll> f[20]; inline void print() { for(R i=1;i<=top;++i) cout<<stk[i]; } inline ll dfs(int l,bool ul,bool ck,ll ml) { if(l==0) {return ml<=n&&ml>0?1:0;} if(