正解:

解题报告:

传送门$QwQ$

一道看起来是数位$dp$其实并不是的题$QwQ$

首先求$\sum_{l}^r$就变成$\sum_1^r-\sum_1^{l-1}$不说$QwQ$.现在就只要求$\sum_{i=1}^n f(n)$了$QwQ$

考虑固定前缀,只改变个位数,因为个位数的贡献为1,所以$f$的贡献也会各不相同,又因为$f\in[0,9]$,所以$[1,9],[10,19],[20,21],...$的贡献就都是45.

(开始呆呆$lq$还懵了一下,,,想着为啥不是$[1,10],[11,20],...$这样儿的.然后就想起了固定前缀$kk$

于是现在$\sum_{i=1}^n f(n)$就变形为了,$45\cdot \frac{n+1}{10}+\sum_{i=\frac{n+1}{10}\cdot 10}^n f(n)$

现在只要考虑求$\sum_{i=\frac{n+1}{10}\cdot 10}^n f(n)$.

依然是前面说的,固定前缀后只有个位数改变时.因为个位数贡献为1,所以相差在不膜10的意义下也一定是1.

所以求一个其他递推出来就成$QwQ$

$over$

这题主要就是要发现关于这个$f$的几个奇奇怪怪的性质$QwQ$.

嗷记得开$ll$鸭

#include<bits/stdc++.h>
using namespace std;
#define il inline
#define gc getchar()
#define int long long
#define ri register int
#define rb register bool
#define rc register char
#define rp(i,x,y) for(ri i=x;i<=y;++i)
#define my(i,x,y) for(ri i=x;i>=y;--i) int d[]; il int read()
{
rc ch=gc;ri x=;rb y=;
while(ch!='-' && (ch>'' || ch<''))ch=gc;
if(ch=='-')ch=gc,y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=gc;
return y?x:-x;
}
il int f(ri x)
{
ri cnt=;memset(d,,sizeof(d));
while(x){d[++cnt]=x%,x/=;}
while(cnt>){rp(i,,cnt-)d[i]=(d[i]+d[i+])%;--cnt;while(!d[cnt] && cnt>)--cnt;}
return d[];
}
il int cal(ri x){ri d1=(x+)/,d2=d1*,ret=f(d2),as=d1*;while(d2<=x)as+=ret,(++ret)%=,++d2;return as;} signed main()
{
//freopen("1076.in","r",stdin);freopen("1076.out","w",stdout);
ri T=read();
while(T--){ri l=read(),r=read();printf("%lld\n",cal(r)-cal(l-));}
return ;
}

随机推荐

  1. 洛谷 3174 [HAOI2009]毛毛虫

    题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大.例如下图左边的树(图 1 )抽出一部分就变成了右边的一个毛毛虫了(图 2 ). 输入输出格 ...

  2. 前端知识---html

    HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏 ...

  3. 权值线段树+动态开点[NOI2004]郁闷的出纳员

    #include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> ...

  4. Mysql错误:#1054 - Unknown column 'id' in 'field list' 解决办法

    第一次用mysql,在插入数据时,竟然报这样的错误, #1054 - Unknown column 'id' in 'field list'

  5. SuperSocket命令加载器 (Command Loader)

    在某些情况下,你可能希望通过直接的方式来加载命令,而不是通过自动的反射. 如果是这样,你可以实现你自己的命令加载器 (Command Loader): public interface IComman ...

  6. laravel构造函数和中间件执行顺序问题

    今天想重构下代码结构: BaseController.php 放置公共的中间件 class BaseController { public function __construct(){ $this- ...

  7. mac默认截图、截图代码

    苹果系统自带截图功能   1 截取全屏:快捷键(Shift+Command+3) 直接按“Shift+Command+3“快捷键组合,即可截取电脑全屏,图片自动保存在桌面. 2 截图窗口:快捷键(Sh ...

  8. H3C 环路避免机制一:路由毒化

  9. P1090 后缀表达式

    题目描述 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级). 如:3(5–2)+7对应的 ...

  10. 【js】 vue 2.5.1 源码学习(一) 大体结构 (自写版本,非源码)

    一.整体思路 1. 首先我们需要解析data,并且data里面的属性添加为vue的属性,并且拿到属性值 . 通过 原型方法 _peoxy实现     Obsever(代理函数) ==> walk ...