$ [Contest \#4]$求和 思博题
正解:
解题报告:
一道看起来是数位$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 ;
}
随机推荐
- Redis源码解析:05跳跃表
一:基本概念 跳跃表是一种随机化的数据结构,在查找.插入和删除这些字典操作上,其效率可比拟于平衡二叉树(如红黑树),大多数操作只需要O(log n)平均时间,但它的代码以及原理更简单.跳跃表的定义如下 ...
- 阿里云POLARDB荣膺2019中国数据库年度最佳创新产品
在日前的DTCC 2019(第十届中国数据库技术大会)上,阿里云自研云原生数据库POLARDB获选2019中国数据库——“年度最佳创新产品”. POLARDB是阿里云在2018年正式商业化的云原生数据 ...
- NetBeans配置
NetBeans下载链接:https://netbeans.org/downloads/8.2/ 选择PHP×64版本 NetBeans 安装插件Darcula LAF for NetBeansctr ...
- hdu 1255 覆盖的面积 (Bruceforce)
Problem - 1255 暴力统计覆盖超过一次的区域.1y. 代码如下: #include <cstdio> #include <cstring> #include < ...
- php 使用正则匹配中文 返回结果
$str = 'eg5455正则匹配中文123三国杀'; $patten='/[\x{4e00}-\x{9fa5}]+/u'; $a = preg_match($patten, $str, $mn); ...
- Python--day26--类方法和静态方法
类方法: 静态方法:
- Json --- Jackson工具
一.Jackson简介 Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.Jackson ...
- Navicat for MySQL 使用SSH方式链接远程数据库(二)
这里我们使用SSH连接远程mysql数据库 2 SSH这种方式,可以使我们连接到远程服务器,但是现在并不能访问数据库,因为我们还没有连接到数据库 3 既然已经连接到服务器了,我们就该连接服务器上的数据 ...
- mybatis查询无结果, 数据库运行相同sql查询出结果
一.问题描述 mybatis查询无结果, 数据库运行相同sql查询出结果, 如下 这是数据库记录 这是mybatis查询出的结果, 记录条数0 这是直接将控制台一模一样的sql查询语句放到Navica ...
- Mac下SVN基本操作和常见错误
一.基本操作 1 从服务器上下载代码 svn checkout http://xxx.xxx.xxx/xxx 2 获取最新的代码 svn update 3 提交代码 svn commit -m ...