博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SAC#1 - 萌数
阅读量:4664 次
发布时间:2019-06-09

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

题目背景

本题由世界上最蒟蒻最辣鸡最撒比的SOL提供。

寂月城网站是完美信息教室的官网。地址:http://191.101.11.174/mgzd 。

题目描述

辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌!

好在在他眼里,并不是所有数都是萌的。只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数;110是萌的,因为包含回文子串11;但是102不是萌的,1201也不是萌的。

现在SOL想知道从l到r的所有整数中有多少个萌数。

由于答案可能很大,所以只需要输出答案对1000000007(10^9+7)的余数。

输入格式

输入包含仅1行,包含两个整数:l、r。


还以为我这个辣鸡会被卡时

 

没想到这么水???
 
你记录一下last,last1来判断是否存在长度至少为2的回文子串
并用flag表示来的路上是否已经存在
注意前导0隔位回文是错的
你在遍历一下l是不是符合条件的数,减去
#include
#define re return#define ll long long#define inc(i,l,r) for(ll i=l;i<=r;++i)using namespace std;ll n,m,len,num[1002],f[1005][2][10][10];ll mod=1000000007;template
inline void rd(T&x){ len=0; char c;bool f=0; while((c=getchar())<'0'||c>'9'); num[++len]=c^48; while((c=getchar())>='0'&&c<='9') num[++len]=c^48;}inline ll dfs(int pos,int limit,int flag,int last,int last1,int lead){ if(pos==len+1)re flag; if(lead&&!limit&&(~last1)&&(~f[pos][flag][last][last1]))re f[pos][flag][last][last1]; int up=limit?num[pos]:9; ll res=0; inc(i,0,up) { if(flag)res=(res+dfs(pos+1,limit&&i==up,flag,i,last,1))%mod; else res=(res+dfs(pos+1,limit&&i==up,lead&&(last==i|last1==i),i,lead?last:-1,lead|i))%mod; } if(!limit&&(~last1))f[pos][flag][last][last1]=res; re res;}inline bool judge(){ if(num[2]==num[1])re 1; inc(i,3,len) { if(num[i]==num[i-1])re 1; if(num[i]==num[i-2])re 1; } re 0;}int main(){ freopen("in.txt","r",stdin); memset(f,-1,sizeof f); rd(n); ll ans1=dfs(1,1,0,-1,-1,0)-judge(); rd(m); ll ans2=dfs(1,1,0,-1,-1,0); printf("%lld",(ans2-ans1+mod)%mod); re 0;}

 

 

转载于:https://www.cnblogs.com/lsyyy/p/11391435.html

你可能感兴趣的文章
php 过滤emoji表情
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
scrollview里container拖动显示问题
查看>>
001使用gltf创建3d模型
查看>>
cas 持久化TGT到mysql JPA方式 增加自定义字段
查看>>
监听屏幕解锁事件
查看>>
idea 注册码 地址:
查看>>
接上个内容, 问题:首次进入时调用了两次接口
查看>>
图片放大不失真软件PhotoZoom如何使用?
查看>>
【dfs】POJ1321 棋盘问题
查看>>
opencv-python教程学习系列10-颜色空间转换
查看>>
1-4-07:收集瓶盖赢大奖
查看>>
cnblogs正式启用
查看>>
带参装饰器,迭代器与生成器
查看>>
sprint2第五天任务完成情况
查看>>
如何进行Apache虚拟机设置
查看>>
【水滴石穿】报错解决不了
查看>>
Qt之Tab键实现(自由切换焦点)
查看>>
Codeforces 920F. SUM and REPLACE / bzoj 3211 花神游历各国
查看>>
Cocos2d-x 3.2 学习笔记(七)Scene And Transition
查看>>