博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
G:处女座和小姐姐(三)(思维)
阅读量:3899 次
发布时间:2019-05-23

本文共 702 字,大约阅读时间需要 2 分钟。

【题解】

wa了三发才过,我太菜了。思路就是比较普通的思路,就是实现起来比较麻烦(也有点乱嘿嘿嘿)。

思路:把一般情况下每10^i中有多少个带6的数的个数存入c[i],c[1]=1,c[2]=19......显然像60-69,600-699等这种情况比较特殊,我们另外再进行计算。然后从高位到低位依次进行计数,sum加上10^i,i的初值是x的位数,每10^i次ans加上c[i],遇到特殊情况ans就加上10^i。还有一种特殊情况,比如67777或者26333这种,遇到6就直接加上7777或者333并返回,当然这里需要判断。而区间[l,r]之间的满足个数等于[0,r]区间的个数-[0,l-1]区间的个数。

【代码】

typedef long long int ll;const int maxn=1e5+5;const int inf=0x3f3f3f3f;const int mod=1e9+7;ll c[20];ll fun(ll x){    ll c=1;    while(x--) c*=10;    return c;}int f(ll x){    while(x)    {        if(x%10==6) return 1;        x/=10;    }    return 0;}ll cul(ll x){    ll cou=0,y=x,ans=0;    while(y)    {        cou++;        y/=10;    }    //printf("cou=%lld\n",cou);    y=1;    for(ll i=1;i

 

转载地址:http://yfben.baihongyu.com/

你可能感兴趣的文章
Linux后台开发应该具备技能
查看>>
Eclipse Tomcat 无法添加项目
查看>>
SVN更新失败 解决方法
查看>>
关于Java的File.separator
查看>>
linux定时任务的设置
查看>>
MySQL 5.7 完全傻瓜安装教程 图文
查看>>
Hibernate框架概述&SSH框架工作原理以及流程
查看>>
Aapche POI txt 导入excel
查看>>
C语言 ## __VA_ARGS__ 宏
查看>>
C++项目中的extern "C" {}
查看>>
(转)C++中extern “C”含义深层探索
查看>>
【日常小记】linux中强大且常用命令:find、grep
查看>>
Linux多线程编程(不限Linux)
查看>>
C/C++内存泄漏及检测
查看>>
C中的继承和多态
查看>>
linux修改ssh端口和禁止root远程登陆设置
查看>>
What really happens when you navigate to a URL
查看>>
偶遇with ties
查看>>
linux 编译指定库、头文件的路径问题
查看>>
使用gdb调试运行时的程序小技巧
查看>>