求和

题目大意

数据范围


题解

脑筋急转弯可还行.....

我们发现只需要最后枚举个位/xk/xk

因为前面的贡献都是确定的了。

故此我们最后暴力统计一下就好咯。

不知道为啥我组合数一直过不去,暴力求过了呜呜。

代码

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

char *p1, *p2, buf[100000];

#define nc() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 100000, stdin), p1 == p2) ? EOF : *p1 ++ )

ll rd() {
ll x = 0;
int f = 1;
char c = nc();
while (c < 48) {
if (c == '-')
f = -1;
c = nc();
}
while (c > 47) {
x = (((x << 2) + x) << 1) + (c ^ 48), c = nc();
}
return x * f;
} int a[20], cnt, b[20]; ll C[20][20]; void init() {
C[0][0] = 1;
for (int i = 1; i <= 19; i ++ ) {
C[i][0] = 1;
for (int j = 1; j <= i; j ++ ) {
C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % 10;
}
}
} inline ll f(ll x) {
cnt = 0;
while (x) {
a[ ++ cnt] = x % 10;
x /= 10;
}
ll mdl = 0;
for (int i = cnt; i >= 2; i -- ) {
(mdl += C[cnt - 1][i - 1] * a[i] % 10) %= 10;
}
return mdl;
} // inline ll f(ll x) {
// cnt = 0;
// for (; x; x /= 10)
// a[cnt ++ ] = x % 10;
// reverse(a, a + cnt);
// while(cnt != 1) {
// int m = 0;
// for (int i = 1; i < cnt; i ++ ) {
// int c = (a[i] + a[i-1]) % 10;
// if(!m && !c) continue;
// b[m ++ ] = c;
// }
// if (!m)
// b[m ++ ] = 0;
// cnt = m;
// for (int i = 0; i < cnt; i ++ )
// a[i] = b[i];
// }
// return a[0];
// } ll calc(ll x) {
if (x < 10ll) {
return (x + 1) * x / 2;
}
ll ans = x / 10 * 45;
ll mdl = f(x / 10 * 10);
// cout << mdl << endl ;
int tmp = x % 10;
for (int i = 0; i <= tmp; i ++ ) {
ans += (mdl + i) % 10;
}
return ans;
} int main() {
int T = rd();
init();
while (T -- ) {
ll l = rd(), r = rd();
printf("%llu\n", calc(r) - calc(l - 1));
}
return 0;
}

小结:真·脑筋急转弯.....

[Comet OJ - Contest #4 D][39D 1584]求和_"数位dp"的更多相关文章

  1. Comet OJ - Contest #2 简要题解

    Comet OJ - Contest #2 简要题解 cometoj A 模拟,复杂度是对数级的. code B 易知\(p\in[l,r]\),且最终的利润关于\(p\)的表达式为\(\frac{( ...

  2. Comet OJ - Contest #2简要题解

    Comet OJ - Contest #2简要题解 前言: 我没有小裙子,我太菜了. A 因自过去而至的残响起舞 https://www.cometoj.com/contest/37/problem/ ...

  3. Comet OJ - Contest #4--前缀和

    原题:Comet OJ - Contest #4-B https://www.cometoj.com/contest/39/problem/B?problem_id=1577传送门 一开始就想着暴力打 ...

  4. Comet OJ - Contest #11 题解&赛后总结

    Solution of Comet OJ - Contest #11 A.eon -Problem designed by Starria- 在模 10 意义下,答案变为最大数的最低位(即原数数位的最 ...

  5. Comet OJ - Contest #8

    Comet OJ - Contest #8 传送门 A.杀手皇后 签到. Code #include <bits/stdc++.h> using namespace std; typede ...

  6. Comet OJ - Contest #13-C2

    Comet OJ - Contest #13-C2 C2-佛御石之钵 -不碎的意志-」(困难版) 又是一道并查集.最近做过的并查集的题貌似蛮多的. 思路 首先考虑,每次处理矩形只考虑从0变成1的点.这 ...

  7. Comet OJ - Contest #13 「火鼠的皮衣 -不焦躁的内心-」

    来源:Comet OJ - Contest #13 芝士相关: 复平面在信息学奥赛中的应用[雾 其实是道 sb 题??? 发现原式貌似十分可二项式定理,然后发现确实如此 我们把 \(a^i\) 替换成 ...

  8. Comet OJ - Contest #13 「佛御石之钵 -不碎的意志-」(hard)

    来源:Comet OJ - Contest #13 一眼并查集,然后发现这题 tmd 要卡常数的说卧槽... 发现这里又要用并查集跳过访问点,又要用并查集维护联通块,于是开俩并查集分别维护就好了 一开 ...

  9. Comet OJ - Contest #5

    Comet OJ - Contest #5 总有一天,我会拿掉给\(dyj\)的小裙子的. A 显然 \(ans = min(cnt_1/3,cnt_4/2,cnt5)\) B 我们可以感性理解一下, ...

随机推荐

  1. 001_C/C++笔试题_考察C/C++语言基础概念

    (一)文章来自:C/C++笔试题-主要考察C/C++语言基础概念.算法及编程,附参考答案 (二)基础概念 2. 头文件中的ifndef/define/endif的作用? 答:防止该头文件被重复引用. ...

  2. 小米oj 有多少个公差为2的等差数列

     有多少个公差为 2 的等差数列 序号:#31难度:有挑战时间限制:1000ms内存限制:10M 描述 给出一个正整数N(2<= N <=10000000),统计有多少公差为2的正整数等差 ...

  3. 【转载】Dijkstra算法和Floyd算法的正确性证明

      说明: 本文仅提供关于两个算法的正确性的证明,不涉及对算法的过程描述和实现细节 本人算法菜鸟一枚,提供的证明仅是自己的思路,不保证正确,仅供参考,若有错误,欢迎拍砖指正   ----------- ...

  4. maven创建可执行jar包项目的配置

    <build> <plugins> <plugin> <artifactId>maven-shade-plugin</artifactId> ...

  5. shell基础之一

    Shell脚本自动化管理系统的必备基础: vim编辑器的熟练使用,SSH终端及“.vimrc”的设置等等需要熟悉. 命令基础:Linux的150个常用命令的熟练使用 Linux的正则表达式以及三剑客( ...

  6. List对象遍历时null判断

    使用for循环遍历list处理list元素时,对null值判断: 1.list为null时空指针异常 2.list不为空,但是list.size()=0时,不执行for循环内代码块 3.list.si ...

  7. Hadoop配置多个HDFS入口

    为了验证存在不同的hdfs之间的hive的互操作(归根结底还是为了解决BUG) 需要在两个不同的hadoop集群的HDFS  能够在Hiveserver2上进行路由转发绕过一些坑. 就需要将某hdfs ...

  8. react数据渲染

    现在需要在页面上显示一本书的章节,章节内容存放到一个数组里面: const lessons = [ { title: 'Lesson 1: title', description: 'Lesson 1 ...

  9. 性能优化 | Tomcat和JVM的性能调优总结

    Tomcat性能调优: 找到Tomcat根目录下的conf目录,修改server.xml文件的内容.对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创 ...

  10. 微PE:装机不求人,教你制作最纯净的PE安装系统

    https://www.jianshu.com/p/50fd699ea916 超好用的PE工具,免费.纯净.无广告,装系统必备! https://www.jianshu.com/p/fecf090b2 ...