$ [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 ;
}
随机推荐
- 巧用 PHP 数组函数
0x00 前言 PHP 的数组是一种很强大的数据类型,与此同时 PHP 内置了一系列与数组相关的函数可以很轻易的实现日常开发的功能.但是我发现好像很多小伙伴都忽略了内置函数的作用(比如我自己就编写过一 ...
- 20-2 orm分组和聚合以及在项目中执行的一些方法
一 orm分组和聚合 参考:https://www.cnblogs.com/liwenzhou/p/8660826.html 1 表结构: # 第一张表 class Employee1(models ...
- SDUT-3331_数据结构实验之链表八:Farey序列
数据结构实验之链表八:Farey序列 Time Limit: 10 ms Memory Limit: 600 KiB Problem Description Farey序列是一个这样的序列:其第一级序 ...
- oracle整合简单,无关联的数据库访问
如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系) 例如: SELECT NAME FROM EMP WHERE EMP_NO = 1234; SELECT NAM ...
- 2015年热门的国产开源软件TOP 50
2015年热门的国产开源软件TOP 50 开源中国在 2015 年得到了快速的发展,单开源软件收藏量就接近 40000 款,其中不乏优质的国产开源项目.本文从软件的收藏.下载.访问等多角度挑选出了 2 ...
- hdu 3805 Triangle Conjecture
Problem - 3805 题意是给出边的长度的,求出边长相等的三角形,输出任意一种答案.边长是1~n的数,每个只能用一次. 其实比较容易可以看出,无论我们怎么操作,只要保持边长总和都是相邻整数就是 ...
- rowStyle设置Bootstrap Table行样式
日常开发中我们通常会用到隔行变色来美化表格,也会根据每行的数据显示特定的背景颜色,如果库存低于100的行显示红色背景 CSS样式 <style> .bg-blue { background ...
- 【原生JS】滑动门效果
效果图: 思路:通过每次鼠标移动至目标上使所有图片重置为初始样式再向左移动目标及其左侧每个图片隐藏部分距离即实现. HTML: <!DOCTYPE html> <html> & ...
- Linux 使用 Speedtest 测试网速
Speedtest的linux客户端是用python写的一个安装包 安装python包管理器pip yum -y install python-pip 如果提示No package python-pi ...
- 2014年NOIP普及组复赛题解
题目涉及算法: 珠心算测验:枚举: 比例简化:枚举: 螺旋矩阵:模拟: 子矩阵:状态压缩/枚举/动态规划 珠心算测验 题目链接:https://www.luogu.org/problem/P2141 ...