P2110 欢总喊楼记
题目描述
诗经有云:
关关雎鸠,在河之洲。窈窕淑女,君子好逑。
又是一个被风吹过的夏天……一日欢总在图书馆中自习,抬起头来,只见一翩跹女子从面前飘过,真是回眸一笑百媚生,六宫粉黛无颜色!一阵诗情涌上欢总心头,他顺手写下那诗句:
啊,你是爱,是暖,是希望,你是人间四月天!
任时光匆匆而过,欢总一直没能忘记那女子。人言单思苦,欢总偏单思。夜夜难入梦,此心淑可知。偶然一次机会,欢总得知了那女孩的信息。一日,欢总终于鼓起了勇气,他向她表白!
那晚的夜色格外美丽,欢总在楼下慷慨激昂,气氛浪漫而感人。女孩有点心动了,但是直接答应是不是有点太不矜持了呢?于是,她想难难欢总,看看他到底有多少诚意。
女孩给出了两个整数 L 和 R,她要欢总数出到底有多少个这样的 X:L <= X <= R,且 X 的最高位与最低位相等(十进制下)。比如,2、101、329873可以是这样的 X,而23、4567就不是。
孩子们,欢总下辈子的幸福生活就靠你们帮忙了!
输入输出格式
输入格式:
一行,这一行包括两个整数 L 和 R。
输出格式:
一行,这一行包括一个整数,即满足所述性质的 X 的个数。
输入输出样例
输入样例#1: 复制
2 47
输出样例#1: 复制
12
说明
【数据规模】
50% 1<=L<=R<=10^6
100% 1<=L<=R<=10^18
数位dp,非常简单的那种
一定要数好数据范围!!! 记得开LL!!!!
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define LL long long
using namespace std;
int w[20],e[20],i,m,n,j,k;
LL p,q,ans,f[20][10][2][2];
int main()
{
scanf("%lld%lld",&p,&q);
LL t=q; k=0;
while(t) k+=1, t/=10;
t=q;
for(i=k;i>=1;i--) w[i]=t%10, t/=10;
t=p;
for(i=k;i>=1;i--) e[i]=t%10, t/=10;
for(i=e[1];i<=w[1];i++)
{
int l=0,r=0;
if(i==e[1]) l=1;
if(i==w[1]) r=1;
f[1][i][l][r]=1;
if(k==1) ans+=1;
}
for(int i=2;i<=k;i++)
for(int j=0;j<=9;j++)
for(int l=0;l<=1;l++)
for(int r=0;r<=1;r++)
for(int z=0;z<=9;z++)
if(f[i-1][j][l][r])
{
if(l && z<e[i]) continue;
if(r && z>w[i]) continue;
int ll=0, rr=0, las=0;
if(j==0) las=z;
else las=j;
if(l && z==e[i]) ll=1;
if(r && z==w[i]) rr=1;
f[i][las][ll][rr]+=f[i-1][j][l][r];
if(i==k && z==las) ans+=(LL)f[i-1][j][l][r];
}
printf("%lld",ans);
}
P2110 欢总喊楼记的更多相关文章
- 洛谷P2110 欢总喊楼记
洛谷题目链接 乱搞qwq 我们其实可以找规律,对于每个数$x$,我们先求出从$1$~$x$中有多少符合条件的,记为$sum[x]$,那么类似于前缀和,答案自然就是$sum[r]-sum[l-1]$了 ...
- 转 -----那些年总也记不牢的IO
关于资源关闭: 一般情况下是:先打开的后关闭,后打开的先关闭 另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流a,再关闭流b 例如处理流a依赖节点流b,应该先关闭处理流a,再关闭节点流b 当然完 ...
- 2012高校GIS论坛
江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...
- GopherChina第一天小结
GopherChina第一天小结 今天参加了Asta举办的第五届GopherChina,第一天参加完,颇有感受,晚上回来趁着还有记忆,来做一下记录. 写在前面 一早从9点开始,一天下来一共八个主题,各 ...
- 金庸和古龙,Netweaver和微服务,以及SAP Hybris Revenue Cloud
这周Jerry在长沙客户现场待了几天,感谢易总和彩亮的款待.终于有机会和关注这个公众号的一些CRM顾问们进行线下互动,感觉很不错.得知公众号里某些文章帮助顾问们解决了一些工作中的实际问题,我很高兴.感 ...
- sql server: sql script
select ProductGUID,ProductName,ProjectGUID from dbo.Product /* F637A079-E22B-4E50-87E9-000147B1B1F4 ...
- Sa yo na ra
总想记点些什么. 都快忘了当初是为什么来到这里呢... 2014年10月,友人给我介绍了一门编程竞赛ACM,并给我演示了一下A+B.于是我知道了ACM的含义. 2014年12月,开始水入门题. 201 ...
- Quartz使用总结
废话的前言 以前凭借年轻,凡事都靠脑记.现在工作几年后发现,很多以前看过.用过的东西,再次拿起的时候总觉得记不牢靠."好记性不如烂笔头"应该是某位上了年纪的大叔的切肤之痛(仅次于上 ...
- 斜率DP hdu 3507
Problem Description Zero has an old printer that doesn't work well sometimes. As it is antique, he s ...
随机推荐
- 为什么java需要序列化对象
序列化是一种用来处理对象流的机制 所谓对象流:就是将对象的内容进行流化,可以对流化后的对象进行读写操作,也可将流化后的对象传输与网络之间 序列化是为了解决在对象流进行读写操作时所引发的问题 序列化的实 ...
- Hibernate中查询优化策略
Hibernate查询优化策略 ² 使用延迟加载等方式避免加载多余数据 ² 通过使用连接查询,配置二级缓存.查询缓存等方式减少select语句数目 ² 结合缓存机制,使用iterate()方法减少查询 ...
- manven springmvc 项目中 slf4j 的配置使用(结合log4j 或者 logback)
前言:每个maven springmvc 都应该有日志功能,SLF4J(Simple logging facade for Java)就是一种日志规范,它提供了一个共通接口,可以适配多种不同的LOG实 ...
- Linux排查Java程序占用CPU很高的解决办法
Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在.而windbg反人类的各种命令,实在不敢恭维. 故意 ...
- MUI框架 选择器的使用
js.css引用 <script type="text/javascript" src="librarys/mui/js/mui.min.js">& ...
- java-集合小结
Java集合框架提供了一套性能优良.使用方便的接口和类,包括Collection和Map两大接口,它们都位于 java.util 包中.其中 Collection集合包含两个常 ...
- 自定义指令directive基础用法
官方链接:http://doc.vue-js.com/v2/guide/custom-directive.html#simplest-directive-example 在main.js中注册自定义指 ...
- PS改变图像颜色
由于写的一个页面主色调变了,里面的一些图标颜色也要相应改变,自己难得重新去psd里面截图,就想着用ps,看能否直接能变换一下图标颜色.其实方法也很简单的. 1:用ps打开需要改变图标颜色的文件,然后选 ...
- linux 目录、文件名、logout、exit、shutdown、reboot、init 0、init 6、runlevel
/dev 设备目录/boot 系统启动目录/etc 配置文件保存目录/media./mnt./misc 挂载目录,实际可以自己随便定义一个目录作为挂载目录/opt 安装第三方软件位置,但现在 ...
- CSS 小结笔记之盒子模型
网页标签可以看成是一个个盒子,页面设计就像垒积木一样,在网页中将盒子摆好显示出来.在浏览器中可以很清楚的去看到一个标签的盒子,具体方法如下: 打开浏览器的开发人员工具,在Elements中选中一个标签 ...