2019年华南理工大学程序设计竞赛(春季赛)A NB群友
Posted shuaihui520
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019年华南理工大学程序设计竞赛(春季赛)A NB群友相关的知识,希望对你有一定的参考价值。
https://ac.nowcoder.com/acm/contest/625/A
题意:给出一个区间范围 , 求有多少个数的每一位的积是在这个区间里面的
分析:没错了 ,就是记忆化暴力搜索 ,不断的枚举除 i ,i是2到9 , 看是否合法 , 对于枚举到相同的状态的时候 , 后面的价值肯定和上一个状态是一样的 , 所以这样就好拉
#include<bits/stdc++.h> using namespace std; #define ll long long map<ll , ll >dp; const int mod = 1e9 + 7; ll dfs(ll x) { if(x<1) return 0; if(dp[x]) return dp[x]; ll ans=0; for(int i=2 ; i<=9 ; i++) { ll now=x/i; if(now>=1) ans++; ans+=dfs(now);///累记记忆化搜索的值 ans%=mod; } return dp[x]=ans; } int main() { int t; scanf("%d",&t); while(t--) { ll l ,r;scanf("%lld%lld",&l,&r); dp.clear(); ll sum1 = dfs(r); dp.clear(); ll sum2 =dfs(l-1); printf("%lld ",(sum1-sum2+mod)%mod); } return 0; }
以上是关于2019年华南理工大学程序设计竞赛(春季赛)A NB群友的主要内容,如果未能解决你的问题,请参考以下文章
2019年华南理工大学程序设计竞赛(春季赛) K Parco_Love_String(后缀自动机)找两个串的相同字串有多少
2019年华南理工校赛(春季赛)--L--剪刀石头布(签到)
2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛)-G(DP)