NB群友
链接:https://ac.nowcoder.com/acm/contest/625/A
来源:牛客网
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
为了能帮助粉丝们提高竞技水平,CC建立了一个粉丝群,每天CC都会在粉丝群里和群友深入交流黑科技。然而,有些群友老是不努力训练,成天想着复读,比如当CC在群里面发了个整数0,那紧接着就会有群友发整数1,然后又会有群友发整数2……这引起了CC的不满,于是CC决定踢掉一些群友。
CC的粉丝群人数为无穷大。当CC发出整数0后,其他群友就会跟着轮流发整数1, 2, 3, 4, ...,依此类推。需要注意的是,每个群友都会恰好发一次整数,每个群友发的整数两两不同。CC认为,在不考虑前导零的情况下,如果某个群友发的整数在十进制表示下的各位数字不含0及1,那么这个群友就是NB的,否则就是不NB的。例如,群友A发的整数是3482,该数的各位数字分别为3、4、8、2,其中不含0、1,因此群友A是NB的;另一方面,群友B发的整数402,而该数的十位数字是0,因此群友B是不NB的。
现在CC决定,踢掉所有不NB的群友。于是经过一番奥妙重重的踢人操作后,粉丝群里只剩下NB群友。然而,CC觉得剩下的这些NB群友还是too naive,因此他打算邀请一些NB群友参加线下训练营(来现场教做人)。具体来说,CC会给出两个正整数L,R,然后他会邀请发出的整数的各位数字之积在区间[L,R]内的NB群友。
举例来说,假如CC给出的区间为L = 50, R = 300,那么发了567的群友会被邀请线下参赛,因为5×6×7=210;同理,发了255的群友也会被邀请,因为2×5×5=50。但是,发了328的群友则不会收到邀请,因为3×2×8=48∉[50,300]。
输入描述:
第一行是一个整数T (1≤T≤50),表示数据组数。
接下来T行,每行两个整数L,R (1≤L≤R≤232−1)L,R (1≤L≤R≤232−1),表示一组询问。
输出描述:
输出共T行。对于每个询问,输出一行一个整数ans,表示CC邀请参加线下训练营的NB群友人数模109+7109+7的结果。
输出
7
13
793516016
1
思路:深搜加记忆化
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
#define LL long long
map<LL,LL>mp;
LL cal(LL x)
{
if(mp.count(x))
return mp[x];
LL res=0;
for(int i = 2; i <= 9; i ++)
{
if(x>=i)///如果不加这一步的话,当x==0||x==1的时候,后面会修改掉mp[0],mp[1];
res+=cal(x/i)+1;
}
mp[x]=res;
return mp[x];
}
int main()
{
int n;
scanf("%d",&n);
LL l,r;
mp[0]=mp[1]=0;
while(~scanf("%lld%lld",&l,&r))
{
LL ans=(cal(r)-cal(l-1))%mod;
printf("%lld\n",ans);
}
return 0;
}
NB群友的更多相关文章
- A NB群友 【记忆化搜索】(2019年华南理工大学程序设计竞赛(春季赛))
冲鸭!去刷题:https://ac.nowcoder.com/acm/contest/625/A 题目描述 CC是著名的算法竞赛选手,他不仅人长得帅,而且技术了得,自然而然就有了许多粉丝. 为了能帮助 ...
- 2019年华南理工大学程序设计竞赛(春季赛)A NB群友
https://ac.nowcoder.com/acm/contest/625/A 题意:给出一个区间范围 , 求有多少个数的每一位的积是在这个区间里面的 分析:没错了 ,就是记忆化暴力搜索 ,不断的 ...
- QQ群友在线/离线,如何测试?
上篇文章『QQ好友在线/离线,如何测试?』针对即时通讯的"状态"进行了分析和总结,主要说到了QQ好友在线/离线实现方案,测试过程中需要注意的测试点. 针对好友状态实时性的要求需要使 ...
- BAT及各大互联网公司2014前端笔试面试题--JavaScript篇(昨天某个群友表示写的简单了点,然后我无情的把他的抄了一遍)
(某个群友)http://www.cnblogs.com/coco1s/ 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大 ...
- BAT及各大互联网公司2014前端笔试面试题--Html,Css篇(昨天有个群友表示写的简单了点,然后我无情的把他的抄了一遍)
某个群友 http://www.cnblogs.com/coco1s/ 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础 ...
- 今日Q群:QQ群众群友反馈问题的归纳总结
今日Q群:QQ群群友反馈问题的归纳总结 今天Q群里还算比较活跃,归纳总结后主要有以下几类问题: 一.如何在Excel中按指定规则对有颜色的单元格进行过滤删选 具体的解决办法,请参照今天发布微信 ...
- QQ好友状态,QQ群友状态,究竟是推还是拉? 网页端收消息,究竟是推还是拉?
https://mp.weixin.qq.com/s/KB1zdKcsh4PXXuJh4xb_Zw 网页端收消息,究竟是推还是拉? 原创 58沈剑 架构师之路 2020-12-28 https:/ ...
- 获取QQ群中的所有群友QQ
package com.jm.mail.tools; import java.io.BufferedReader; import java.io.IOException; import java.io ...
- 今天有群友不是很清楚htm直接存数据库的危害,我简单举个例子
通过这个案例就知道为什么不要把原生的html放数据库了 常见的几种转码 常用的几种显示方法 只有原生html和最下面一种弹框了,变成了持久xss 如果是Ajax的方式,请用@Ajax.JavaS ...
随机推荐
- (三)jdk8学习心得之方法引用
三.方法引用 https://www.jianshu.com/p/c9790ba76cee 这边博客写的很好,可以首先阅读,在这里感谢这篇文章的博主. 1. 格式 调用者::调用者具备的方法名 2. ...
- Java的常量和变量
一.标识符 如类名,数字不能作为标识符的首字母(以字母或者下划线或者$开头且不能有空格) 注意和Python的区别,Python中标识符由字母.下划线和数字组成,且数字不能开头,也是严格区分大小写(但 ...
- 虚拟机ubuntu设置静态IP与主机、外网互ping配置流程
方案一.VMnet8(NAT模式) 1.选择自定义模式,VMnet8(NAT模式) 2.进入虚拟机,设置静态IP之前确认三者可互ping通,命令ifconfig,查看当前的IP 3.主机通过命令ipc ...
- Linux学习之路1
root用户 安装初始系统默认没有启动root用户,如下方式启动: l sudo passwd l 连续输入两次密码,启动root用户 l 再登陆 登陆root用户 l su root l ...
- asp.net core开源项目
Orchard框架:https://www.xcode.me/code/asp-net-core-cms-orchard https://orchardproject.net/ https://git ...
- sax
<?xml version="1.0" encoding="UTF-8"?> <beauties> <beauty> < ...
- sql 查询字段如果为null 则返回0的写法
oracle select nvl(字段名,0) from 表名; ----------------------------------- sqlserver select isnull(字段名,0) ...
- freeCodeCamp中一些有趣的方法
1. 过滤对象(找到数组中(collection)与之(source)匹配对象,过滤掉数组中(collection)不匹配对象) function where(collection, source) ...
- HEOI2013SAO
题目描述 给定一个\(DAG\),问这个\(DAG\)有多少种拓扑序. 题解 我们首先需要设计一个能够比较好的转移的状态. 我们可以设\(dp[i][j]\)表示第i个点在当前\(dp\)的子图中拓扑 ...
- Djagno从入门到放弃
一.web应用.http协议.web框架 二.Django简介 三.路由控制 四.视图层 五.模版层 六.模型层:单表操作,多表操作,常用字段和参数,Django-model进阶 七.组件:Djang ...