【数位DP】 HDU 4722 Good Numbers
原题直通车: HDU 4722 Good Numbers
题意: 求区间[a,b]中各位数和mod 10==0的个数.
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int f[20];
long long work(long long x){
long long ret=0, u=x;
int t=0, s=0;
while(u) f[++t]=u%10, u/=10;
for(int i=t; i>=1; --i){
if(i==1){
for(int j=0; j<f[i]; ++j)
if((s+j)%10==0) ret++;
break;
}
for(int j=0; j<f[i]; ++j)
ret+=(long long) pow(10.0, i-2);
s=(s+f[i])%10;
}
return ret;
}
int main(){
int T, cas=1; scanf("%d",&T);
while(T--){
long long a, b;
scanf("%I64d%I64d", &a, &b);
printf("Case #%d: %I64d\n", cas++, work(b+1)-work(a));
}
return 0;
}
【数位DP】 HDU 4722 Good Numbers的更多相关文章
- 找规律/数位DP HDOJ 4722 Good Numbers
题目传送门 /* 找规律/数位DP:我做的时候差一点做出来了,只是不知道最后的 is_one () http://www.cnblogs.com/crazyapple/p/3315436.html 数 ...
- hdu 4722 Good Numbers( 数位dp入门)
Good Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- HDU - 4722 Good Numbers 【找规律 or 数位dp模板】
If we sum up every digit of a number and the result can be exactly divided by 10, we say this number ...
- hdu 4722 Good Numbers 数位DP
数位DP!!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include< ...
- HDU 4722:Good Numbers(数位DP)
类型:数位DP 题意:定义一个Good Number 为 一个数所有位数相加的和%10==0.问[A,B]之间有多少Good Number. 方法: 正常“暴力”的定义状态:(i,d,相关量) 定义d ...
- HDU 4722 Good Numbers
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 Good Numbers Time Limit: 2000/1000 MS (Java/Othe ...
- 2019年9月训练(壹)数位DP (HDU 2089)
开学之后完全没时间写博客.... HDU 2089 不要62(vjudge) 数位DP 思路: 题目给出区间[n,m] ,找出不含4或62的数的个数 用一个简单的差分:先求0~m+1的个数,再减去0~ ...
- [数位dp] spoj 10738 Ra-One Numbers
题意:给定x.y.为[x,y]之间有多少个数的偶数位和减去奇数位和等于一. 个位是第一位. 样例: 10=1-0=1 所以10是这种数 思路:数位dp[i][sum][ok] i位和为sum 是否含有 ...
- hdu 4722 Good Numbers 规律 数位dp
#include<iostream> #include<cstring> #include<cstdio> #include<vector> #incl ...
随机推荐
- DELPHI编写服务程序总结
DELPHI编写服务程序总结 一.服务程序和桌面程序的区别 Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:系统服务不用登陆系统即可运行:系统 ...
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(二)
在了解地图的初始化和加载之前,我们先了解下mario的地图. 用tiled工具打开mario地图 从地图中可以看到,mario的地图有很多层构成: objects层:怪物,会动的怪物 coin层:金币 ...
- Java学习之自定义异常
1 package com.gh; import java.util.Scanner; /** * 自定义异常 * @author ganhang * */ public class Exceptio ...
- ceph存储之查找对象
对象存储(而非块存储): 要把对象存入ceph集群,客户端必须做到: 1.指定对象名 2.指定存储池 Ceph客户端检出最新集群运行图,客户端用CRUSH算法动态地计算出如何把对象映射到归置组.然后计 ...
- PHP学习笔记4-类/命名空间/成员方法/类方法
命名空间 namespace 类 class创建文件Hello.php,namespace是jikexueyuan: <?php /** * Created by PhpStorm. * U ...
- win32下利用python操作printer
在win32下操作printer: 1)import win32print 2) 获得默认打印机名: >>> win32print.GetDefaultPr ...
- 一天一个类--NIO 之Buffer
java.nio --- 定义了 Buffer 及其数据类型相关的子类.其中被 java.nio.channels 中的类用来进行 IO 操作的 ByteBuffer 的作用非常重要. java.n ...
- android如何让service不被杀死-提高进程优先级
1.在service中重写下面的方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动重写创建 @Override public int onStartCommand ...
- 引用 U-boot给kernel传参数和kernel读取参数—struct tag
引用 清风徐徐 的 U-boot给kernel传参数和kernel读取参数—struct tag U-boot会给Linux Kernel传递很多参数,如:串口,RAM,videofb等.而Linux ...
- Java中的位运算符、移位运算
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&) :两位全为1,结果为1,否则为0: (2)按位或 (|) :两位有一个为1,结果为1,否则为0: (3) ...