http://codeforces.com/problemset/problem/204/A

题意:给定一个【L,R】区间,求这个区间里面首位和末尾相同的数字有多少个

思路:考虑这个问题满足区间加减,我们只考虑【1,n】,考虑位数小于n的位数的时候,我们枚举头尾的数是多少,然后乘上10的某幂次,再考虑位数相等时,从高位往低位走,先考虑头尾数字小于最高位的情况,也像刚才那个随便取,当头尾数字等于最高位时,从高往低走,先算不与这位相等的,走下一步就代表与这位相等。最后要记得判断一下如果原数字头等于尾,答案要加1.

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define ll long long
ll st[];
ll solve(ll x){
if (x<=){
return std::min(9LL,x);
}
if (x<=){
ll t=x/10LL;
return 9LL+t-+(t<=(x%));
}
ll res=;
int top=;
while (x){
st[++top]=x%;
x/=;
}
ll s=;
for (int i=;i+<=top;i++){
res+=*s;
s*=10LL;
}
for (int i=;i<st[top];i++){
res+=s;
}
s/=;
for (int i=top-;i>=;i--)
{
for (int j=;j<st[i];j++)
res+=s;
s/=;
}
if (st[]>=st[top]) res++;
return res;
}
int main(){
ll n,m;
scanf("%I64d%I64d",&n,&m);
printf("%I64d\n",solve(m)-solve(n-));
}

最新文章

  1. UML活动图与流程图的区别
  2. php 利用ffmpeg将amr转MP3
  3. Effective C++ -----条款47:请使用traits classes表现类型信息
  4. BizTalk开发系列(三十二)浅谈BizTalk主机性能优化
  5. JVM-class文件完全解析-属性表集合
  6. UITableView表格视图、UITableView代理方法及应用
  7. 查询MYSQL和查询HBASE速度比较
  8. 数往知来 ADO.NET &lt;八&gt;
  9. JavaScript 面试题,给大家补补基础,加加油,埋埋坑!
  10. python的浅拷贝和深拷贝
  11. 通过ALM OTA API获取test case的信息,并上传测试结果到test set中
  12. LeetCode 674. Longest Continuous Increasing Subsequence (最长连续递增序列)
  13. NowCoderWannafly挑战赛5-可编程拖拉机比赛-向上取整和向下取整函数
  14. 20190326-HTML5标签、CSS的引用
  15. iframe父页面获取子页面元素方法
  16. Netty5+Jboss(Marshalling)完成对象序列化传输
  17. easyui webapi
  18. end to end
  19. JDK并发包中ExecutorCompletionService使用
  20. 模仿qq列表信息滑动删除效果

热门文章

  1. mySql控制流程的函数
  2. 2015第24周五Spring的AOP
  3. 【翻译】五步快速使用LINQPad尝鲜StreamInsight
  4. powerdesigner 字段大小写转换\id 自增
  5. Java组合与继承生成的类中构造函数的执行顺序
  6. html(四)
  7. ApacheBench~网站性能测试工具
  8. lession2:使用HTTP Cookie 管理器来传递cookies值
  9. 性能优化之NSDateFormatter
  10. UVA10534-----Wavio Sequence-----动态规划之LIS