Problem's Link:http://acm.nyist.net/JudgeOnline/problem.php?pid=514


Mean:

给你一个l和r,求出在这个范围内的1的个数。

analyse:

简单的数位推理。

Time complexity:O(n) n为数字的位数

Source code:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<queue>
#include<map>
#include<cstdlib>
#include<stack>
#define N 11
using namespace std;
int d[N];
int value;
void deal(int n)
{
if(n<=0) return;
int one,ten;
one=n%10;
n/=10;
ten=n;
for(int i=0;i<=one;++i)
{
d[i]+=value;
}
while(ten)
{
d[ten%10]+=(one+1)*value;
ten/=10;
}
for(int i=0;i<10;++i)
d[i]+=value*n;
d[0]-=value;
value*=10;
deal(n-1);
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
int s,e;
while(cin>>s>>e,s||e)
{
if(s>e)swap(s,e);
memset(d,0,sizeof d);
value=1;
deal(e);
value=-1;
deal(s-1);
cout<<d[1]<<endl;
}
return 0;
}

  

数论 - 简单数位推理 --- NYIST 514的更多相关文章

  1. HDU 2089 简单数位dp

    1.HDU 2089  不要62    简单数位dp 2.总结:看了题解才敲出来的,还是好弱.. #include<iostream> #include<cstring> #i ...

  2. hdu 2114 Calculate S(n) 数论(简单题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2114 自己对数论一窍不通啊现在,做了一道水题,贴出来吧...主要是让自己记住这个公式: 前n项和的立方 ...

  3. windy数(简单数位DP)

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 6306  Solved: 2810[Submit][Sta ...

  4. 简单数位DP

    https://cn.vjudge.net/problem/HDU-4722 懒得写看,代码注释吧;主要存板子 #include <cstdio> #include <cstring ...

  5. hdu4722之简单数位dp

    Good Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  6. [DP]数位DP总结

     数位DP总结 By Wine93 2013.7 1.学习链接 [数位DP] Step by Step   http://blog.csdn.net/dslovemz/article/details/ ...

  7. POJ 3252 Round Number(数位DP)

    Round Numbers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6983   Accepted: 2384 Des ...

  8. Codeforces 582D - Number of Binominal Coefficients(Kummer 定理+数位 dp)

    Codeforces 题目传送门 & 洛谷题目传送门 一道数论与数位 dp 结合的神题 %%% 首先在做这道题之前你需要知道一个定理:对于质数 \(p\) 及 \(n,k\),最大的满足 \( ...

  9. TopCoder比赛总结表

    TopCoder                        250                              500                                 ...

随机推荐

  1. 【转】iOS设备的UDID是什么?苹果为什么拒绝获取iOS设备UDID的应用?如何替代UDID?

    本文讲诉的主要是为什么苹果2011年8月发布iOS 5后就开始拒绝App获取设备的UDID以及UDID替补方案,特别提醒开发者苹果App Store禁止访问UDID的应用上架(相关推荐:APP被苹果A ...

  2. 分享一个点赞超过100的漂亮ASP.NET MVC蓝色界面框架

    从 陈贞宝 博客中看到一个MVC模板感觉特别漂亮就尝试着分离出来,直接拿来用啦,直接拷贝到自己的常用的代码库里收藏起来,地址是http://www.cnblogs.com/baihmpgy/p/381 ...

  3. H5页面设计器,仿有赞商城页面在线设计器,比富文本框更友好的内容编辑器

    基本上每个web应用,都会牵扯到内容编辑,尤其是移动的web应用,微信开发之类的.页面内容自定义是最常用的功能了,之前大部分解决方案都是采用富文本框编辑器kindeditor,ueditor,cked ...

  4. IOS从一个APP跳到另一个APP

    以下为跳转到大众点评APP代码如下: NSString *requestUrlString = @"dianping://shopinfo?id=1000"; NSURL *req ...

  5. 查看android app 线程信息的命令

    参考:https://my.oschina.net/zhiweiofli/blog/138454 ps | grep 'joyodream' 找到 app 的pid: joyodream为包名的一部分 ...

  6. Linux实现ftp账号同时访问两个目录方法

    在做项目时,客户需要FTP同时访问两个目录,要清楚,在建FTP时,都是一个用户对应一个目录,当FTP用户登录后,就只访问当前目录,如果需要访问到其他目录,得另想办法.刚开始以为使用链接可以实现这个功能 ...

  7. 《objective-c基础教程》学习笔记(十)—— 内存管理

    本篇博文,将给大家介绍下再Objective-C中如何使用内存管理.一个程序运行的时候,如果不及时的释放没有用的空间内存.那么,程序会越来越臃肿,内存占用量会不断升高.我们在使用的时候,就会感觉很卡, ...

  8. 解决CSS移动端1px边框问题

    移动项目开发中,安卓或者IOS等高分辨率屏幕会把1px的border渲染成2px来显示,网上搜了一下,解决方法如下: 一.利用css中的transform的缩放属性解决,推荐这个.如下面代码. < ...

  9. 利用decorator和descriptor进行数据缓存

    class cached_property(object): def __init__(self, func, name=None, doc=None): self.__name__ = name o ...

  10. Nginx模块开发时unknown directive "echo"的处理

    实际上,Nginx并没有echo这个指令,所以你贸然使用时,自然会提示说无法识别的指令,处理方法有两个: 方法一是: 从下面连接下载echo-nginx-module模块并安装: https://gi ...