FZU 2113 Jason的特殊爱好
题意:
给定区间[a,b],求将区间中所有数写在黑板上,要写的数字‘1’的次数。(1 <= a,b <= 10^8)
解法:
将题转化成f(b+1) - f(a)的形式。普通的数位DP。
tag:数位DP
/*
* Author: Plumrain
* Created Time: 2013-12-15 23:53
* fILE nAME: dp-fzU-2113.cpp
*/
#include <iostream>
#include <cstdio>
#include <cstring> using namespace std; #define CLR(x) memset(x, 0, sizeof(x))
typedef long long int64;
int64 d[][];
int dit[]; int64 mypow(int64 p, int64 n)
{
int64 ret = ;
while (n){
if (n & ) ret *= p;
n >>= ;
p *= p;
}
return ret;
} void d_init()
{
CLR (d);
d[][] = ;
for (int i = ; i < ; ++ i){
d[i][] = mypow(, i-);
for (int j = ; j < ; ++ j)
for (int k = ; k < ; ++ k)
d[i][j] += d[i-][k];
}
} int64 gao(int64 x)
{
int len = ;
while (x){
dit[len++] = x % ;
x /= ;
}
dit[len] = ; int64 ret = ;
int flag = ;
for (int i = len-; i >= ; -- i){
ret += dit[i] * mypow(, i) * flag;
for (int j = ; j < dit[i]; ++ j)
ret += d[i+][j];
if (dit[i] == ) ++ flag;
}
return ret;
} int main()
{
d_init();
int64 a, b;
while (cin >> a >> b)
cout << gao(b+) - gao(a) << endl;
return ;
}
FZU 2113 Jason的特殊爱好的更多相关文章
- FZU 2113(数位dp)
题目连接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=38054 题意:求区间[a,b]中包含'1'的个数. 分析:数位dp ...
- FZU 2113 BCD Code 数位dp
数位dp,但是很奇怪的是我在虚拟oj上用GUC C++提交会wa,用Visual c++提交正确,但是加上注释后提交又莫名CE--好任性啊 0 ,0 题目思路:看代码吧 注释很详细 #include& ...
- fzu 2113 数位dp
#include<stdio.h> #include<string.h> #define N 20 #define ll __int64 ll dp[N][N];//最多记忆4 ...
- 数位DP之小小结
资料链接:http://wenku.baidu.com/view/9de41d51168884868662d623.html http://wenku.baidu.com/view/d2414ffe0 ...
- pycharm的基本使用 、 Python的注释语法,变量,常量,垃圾回收机制,数据类型
1.文件路径要注意 我把文件放在了D盘,如下图:你们可以根据自身情况设置 2.python环境要选择本地下载好的 如下图: 点击本机存在的环境,如果提示NO interpr,就点击第二步 如果还是没有 ...
- python的注释、变量、常量基础
一.注释 1.什么是注释 注释就是对代码的解释说明,注释的内容不会被当作代码运行 2.为什么要注释 增强代码的可读性 3.怎么用注释? 代码注释单行和多行注释 单行注释用#号,可以跟在代码的正上方或正 ...
- 【python基础】第05回 数据类型,交互,格式化输出,运算符
上节内容回顾 1.python的注释 # 单行注释 pycharm快捷键:ctrl+? '''多行注释''' """多行注释""" 2.py ...
- Python-D4-语法入门2
目录 数据类型 数据类型之整型int 数据类型之浮点型float 数据类型之字符串str 数据类型之列表list 数据类型之字典dict 基本数据类型之布尔值bool 基本数据类型之元祖tuple 基 ...
- FZU 2137 奇异字符串 后缀树组+RMQ
题目连接:http://acm.fzu.edu.cn/problem.php?pid=2137 题解: 枚举x位置,向左右延伸计算答案 如何计算答案:对字符串建立SA,那么对于想双延伸的长度L,假如有 ...
随机推荐
- android 定时请求(两种实现方式)
方式一: Handler + Runnable (借鉴网址:http://stackoverflow.com/questions/6207362/how-to-run-an-async-task-fo ...
- 阿里云服务器如何安装memcached
方法/步骤 1 使用Xshell登陆阿里云服务器. 请使用root帐号登陆.下面的操作全部在home目录里执行 2 安装libevent. 输入命令 yum -y install libevent-d ...
- tableView尾部多处一部分空白高度
问题出现的原因:创建tableView时使用的style是UITableViewStylePlain 解决办法: 在创建tableView时,self.automaticallyAdjustsScro ...
- 342. Power of Four
题目: Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Example ...
- cocos2dx JAVA,C++互相调用函数
C++调用JAVA 例子 #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) #include "platform/android/jni/Jni ...
- ie11下,插入框架Html
if(navigator.userAgent.indexOf("MSIE")>0 || (navigator.userAgent.indexOf("Trident& ...
- php之文件上传简单介绍
要声明的form表单格式 <form action="act.php" method="post" enctype="multipart/for ...
- phpcms 标签解析
phpcms 每个pc标签对应modules控制器下一个 tag.class类 比如 {pc:content action="position" posid="2&quo ...
- redis 服务器端命令
redis 127.0.0.1:6380> time ,显示服务器时间, 时间戳(秒), 微秒数 1) "1375270361" 2) "504511" ...
- 我和Cpp的第一次正式约会
今天是我和Cpp的第一次正式的约会,大一的时候学校开了Cpp课,可是那时候玩性未收,没有好好学习,而如今我主动约Cpp,是真的想跟他进一步走下去^_^,正在学习<C++ Primer>,每 ...