HDU--warmup2(1007)
来源:互联网 发布:逻辑回归模型 知乎 编辑:程序博客网 时间:2024/05/28 23:20
这道题当初做的时候本来想用数学方法,但是取舍了一下,还是数位DP比较好明白。
c[i][(j + k) % 10] += c[i - 1][j];
c[i][(x+j)%10]++;
这两个是主要的公式。
c[][]是存储数位加和的数组。
#pragma warning(disable:4786)#include<iostream>#include<algorithm>#include<cmath>#include<stdio.h>#include<time.h>#include<stdlib.h>#include<queue>#include<set>#include<vector>#include<string>#include<ctime>#include<string.h>using namespace std;#define pi acos(-1.0)//#define LL __int64typedef long long LL;#define INF 0x7fffffffffffffffdin)#define bug puts("hear!")#define inf 0x7fffffff#define eps 1e-10#define FRE freopen("in.txt","r",st#define E exp(1.0)#define mod 1000000007long long c[20][11];long long get_d (int a[], int n){ int i, j, k; memset(c,0,sizeof(c)); int x = 0; for(i = 1; i <= n; i++){ for(j = 0; j < 10; j++){ for(k = 0; k < 10; k++){ c[i][(j + k) % 10] += c[i - 1][j]; } } for(j = 0; j < a[i]; j++) c[i][(x+j)%10]++; x = (x + a[i]) % 10; } if(x == 0) c[n][0]++; return c[n][0];}int main(){ int T, tt = 0; scanf("%d",&T); while(T--){ int s[20], n, i, j, num = 0; long long ans = 0; char a[20],b[20]; scanf("%s %s", a, b); n = strlen(b); for(i = 0; i < n; i++) s[i + 1] = b[i] - '0'; ans += get_d(s,n); n = strlen(a); for(i = 0; i < n; i++){ s[i + 1] = a[i] - '0'; num += s[i + 1]; } ans -= get_d(s,n); if(num % 10 == 0) ans++; printf("Case #%d: %I64d\n", ++tt, ans); } return 0;}
- HDU--warmup2(1007)
- HDU--warmup2(1001)
- HDU--warmup2(1005)
- hdu 2013多校2warmup2
- warmup2
- hdu 4722 Good Numbers 数位dp(2013 ACM/ICPC Asia Regional Online —— Warmup2 1007)
- HDU 4717The Moving Points warmup2 1002题(三分)
- hdu 4726 Kia's Calculation 数论(2013 ACM/ICPC Asia Regional Online —— Warmup2 1011)
- hdu 4717 The Moving Points 三分法(2013 ACM/ICPC Asia Regional Online —— Warmup2 1002)
- hdu 2013 ACM/ICPC Asia Regional Online —— Warmup2解题报告
- hdu 4722 Good Numbers 2013 ACM/ICPC Asia Regional Online —— Warmup2
- hdu 4727 The Number Off of FFF 简单题( 2013 ACM/ICPC Asia Regional Online —— Warmup2 1012)
- hdu 4720 Naive and Silly Muggles 外接圆(计算几何) 2013 ACM/ICPC Asia Regional Online —— Warmup2 1005
- HDOJ-WARMUP2 部分题解(不断更新)
- 2013 ACM/ICPC Asia Regional Online — Warmup2 个人总结
- 2013 ACM/ICPC Asia Regional Online —— Warmup2
- 2013 ACM/ICPC Asia Regional Online —— Warmup2 两个水题
- hdu 1007 (分治)
- 【转】对 HTTP 304 的理解
- 读《轻量级JavaEE企业应用实战(第三版)》笔记(一)
- 当前时间 java
- MIPS
- HTTP 304客户端缓存优化的神奇作用和用法
- HDU--warmup2(1007)
- Handler消息机制的一些原理(直接用code讲解)
- linux sed命令
- nodejs笔记1
- HDU---warmup(1012)
- 最实用的10个重构小技巧排行榜,您都用过哪些呢?
- 关于全屏和取消标题栏
- 勤快的程序猿都没啥前途的,赶紧改掉你的坏毛病吧!
- TigerLeapMC V1.3 for Windows(支持DLNA)