链接:https://ac.nowcoder.com/acm/contest/329/G
来源:牛客网

题目描述

经过了选号和漫长的等待,处女座终于拿到了给小姐姐定制的手环,小姐姐看到以后直呼666!

处女座其实也挺喜欢6这个数字的,实际上他做手环的时候选取的k=6。所以他对于包含数码6的数字极其敏感。每次看到像4567这样的数字的时候他的心就像触电了一样,想起了小姐姐。

现在你要给处女座展示一系列数字,你想知道他的内心会激动多少次。对于同一个数字,他最多只会激动一次,即如果这个数是66666,他还是只会激动一次。

输入描述:

一行包括两个数字l,r,表示你给处女座展示的数字范围为[l,r]。

输出描述:

一行一个整数,表示处女座内心激动的次数。
示例1

输入

10 20

输出

1

备注:

0≤l≤r≤1018
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<math.h>
#include<vector>
#include<queue>
#include<map>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
ll dp[][];///dp[i][j]表示i+1位数,且以j为开头,不包含6的数的个数
void init()
{
memset(dp,,sizeof(dp));
dp[][]=;
for(int i=;i<;i++)///i表示从右往左开始第几位,j表示第i位上的数字
{
for(int j=;j<;j++)
{
for(int k=;k<;k++)
if(j!=)///不累计第i位上数字为6的个数
dp[i][j] += dp[i-][k];
}
}
}
ll solve(ll x)//求 1到(x-1)里 不包含6的数 的个数
{
ll temp=x;
int num[];
int cnt=;
while(x)//记录各个位置上的数字
{
num[cnt++]=x%;
x=x/;
}
num[cnt]=;
ll res=;
for(int i=cnt-;i>;i--)///有多少位
{
for(int j=;j<num[i];j++)//如果该位上数字为0的话,是不满足累加要求的
{
// if(j!=6) //这一步可以不要的,因为dp[i][6]=0
res+=dp[i][j];
}
if(num[i]==)///比如3650,遇到6,后面直接不用算了
break;
}
return temp-res;//返回不包含6的数字的个数
} int main()
{
init();
ll l,r;
while( scanf("%lld%lld",&l,&r)!=EOF )
{
ll ans;
ans=solve(r+)-solve(l);
printf("%lld\n",ans);
}
return ;
}

 

处女座和小姐姐(三)-数位dp1.0的更多相关文章

  1. 牛客寒假算法基础集训营3处女座和小姐姐(三) (数位dp)

    链接:https://ac.nowcoder.com/acm/contest/329/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...

  2. 处女座和小姐姐(三)(数位dp)

    链接:https://ac.nowcoder.com/acm/contest/329/G 来源:牛客网 题目描述 经过了选号和漫长的等待,处女座终于拿到了给小姐姐定制的手环,小姐姐看到以后直呼666! ...

  3. 牛客训练三:处女座和小姐姐(三)(数位dp)

    题目链接:传送门 思路:数位dp的记忆化搜索模板 从高位向低位枚举,逐位确定每一位的6的个数,dp[i][s]表示处理到第i条边,状态为s时的数字的个数. 注意,要使用long long类型. #in ...

  4. linux 定时任务---给心爱的小姐姐发情书

    目录 1.计划任务基本概述 什么是crond? 为什么要用crond? 2.计划任务时间管理 crontab配置文件解析 crontab的时间编写规则 crontab命令选项 3.计划任务编写实践 使 ...

  5. 小I的小姐姐

    小 I 的小姐姐 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小 I 去天津玩啦,一路上,他跟他的同学发生了许多有趣 ...

  6. 处女座和他的小姐姐(三)----数位DP

    链接:https://ac.nowcoder.com/acm/contest/329/G来源:牛客网 经过了选号和漫长的等待,处女座终于拿到了给小姐姐定制的手环,小姐姐看到以后直呼666! 处女座其实 ...

  7. EFCore Lazy Loading + Inheritance = 干净的数据表 (一) 【献给处女座的DB First程序猿】

    前言 α角 与 β角 关于α角 与 β角的介绍,请见上文 如何用EFCore Lazy Loading实现Entity Split. 本篇会继续有关于β角的彩蛋在等着大家去发掘./斜眼笑 其他 本篇的 ...

  8. MIP技术进展月报第3期:MIP小姐姐听说,你想改改MIP官网?

    一. 官网文档全部开源 MIP 是一项永久的开源的项目,提供持续优化的解决方案,当然官网也不能例外.从现在开始,任何人都可以在 MIP 官网贡献文档啦! GitHub 上,我们已经上传了 <官网 ...

  9. Lottie 动画里有图片怎么办?设计师小姐姐也能帮你减少开发量!

    一.序 Hi,大家好,我是承香墨影! Lottie 是 Airbnb 开源的一套跨平台的完整解决方案,设计师只需要使用 After Effectes (之后简称 AE)设计出动画之后,使用 Lotti ...

随机推荐

  1. windows下安装tomcat8

    1.下载tomcat,下载地址:https://tomcat.apache.org/download-80.cgi 2.官网下载下来的tomcat是zip格式,解压到安装目录 3.修改环境变量: CA ...

  2. es6(14)--iterator for ...of循环

    //iterator for ...of循环 { let arr=['hello','world']; let map=arr[Symbol.iterator](); console.log(map. ...

  3. es6基础(3)-正则扩展

    //正则扩展 { let regex=new RegExp('xyz','i'); let regex2=new RegExp(/xyz/i); console.log(regex.test('xyz ...

  4. bool操作

    基本类型转换的问题 bool类型没有操作. 类型转换 结论一: 想把xxx转化成yy类型. yy(xxx) 结论二: 能够表示False的数据: 0, "", [], {}, se ...

  5. ES6入门箭头函数

    箭头函数: 箭头函数可以与变量结构相结合(箭头函数返回对象的时候必须要在对象外边加()) 注意: 1️⃣函数体内的this是定义时所在的对象,而不是使用时的对象 2️⃣不可以当成构造函数,不可用new ...

  6. day6--递归函数

    一递归函数 我们老师经常喜欢讲的一句话就是:人理解函数,神理解递归,那么什么是递归函数? 递归函数:在一个函数里面调用函数本身,也就是说这个函数里面出现了和函数一样的名字 例如: def func(n ...

  7. thinkphp在linux下报mkdir()错误

    这个主要是由于缓存文件的权限不够,一般我们git下来的文件时,这个runtime是没有下来的. 解决办法:进入到TP项目下:修改父级目录权限为0777即可linux: chmod -R 777 ./r ...

  8. 19.python设置单线程和多线程

    1.单线程实例: 代码如下: from time import ctime,sleep def music(A): for i in range(2): print ("I was list ...

  9. 27.纯 CSS 创作一个精彩的彩虹 loading 特效

    原文地址:https://segmentfault.com/a/1190000014939781 感想:正方形->圆->旋转一定角度->动画->隐藏下一半 HTML代码: &l ...

  10. 《算法》第四章部分程序 part 6

    ▶ 书中第四章部分程序,加上自己补充的代码,图的环相关 ● 无向图中寻找环 package package01; import edu.princeton.cs.algs4.In; import ed ...