题目

为什么看到很多题解区的 dalao 都用逆元?是我太菜了吧


【分析】

首先,根据弃九验算法的原理,显然可以得到:一个 \(n\) 位数

\(a_1a_2a_3\dots a_n\equiv a_1+a_2+a_3+\dots+a_n(\mod 9)\)

证明:

对于第 \(k\) 位数 \(a_k\) ,它对答案的贡献为\(10^{n-k}\times a_k\%9(n\geq k)\)

当 \(n=k\) 时 \(10^{n-k}=10^{n-n}=1\)

当 \(n>k\) 时 \(10^{n-k}=10^{n-k-1}\times 10\equiv 10^{n-k-1}\times 1\equiv\dots\equiv 10^0=1(\mod 9)\)

所以第 \(k\) 为的 \(a_k\) 贡献为 \(a_k\) 累计得到上式


而对于 \(89101112\) 这样的数字,也同等于:

\(89101112\equiv8+9+1+0+1+1+1+2\equiv8+9+10+11+12(\mod 9)\)

所以我们要求的东西就变为了 \(\displaystyle \sum_{i=l}^ri\%9\)

那么,我们设 \(\displaystyle Last(n)=\sum_{i=1}^ni\%9\)

答案即变为 \(Last(r)-Last(l-1)\) ,当然,记得取正数


现在,问题转变为求解 \(Last(n)\)

\(\displaystyle \because Last(n)=\sum_{i=1}^ni\%9\)

而且 \(1+2+3+4+5+6+7+8+9=45\equiv 0(\mod 9)\)

所以直接有 \(Last(n)=Last(n\% 9)\)

我们 \(9\) 以内的脑算打表,剩下的直接求解即可


【代码】

那本蒟蒻就放 我码风极丑的 代码了

#include<iostream>
using namespace std;
inline int read(int ans){
char c=getchar();
while(c<48||c>57) c=getchar();
while(c>=48&&c<=57){
ans+=(c-48);
c=getchar();
if(ans>=9) ans-=9;
}
return ans;
}
int ar_d_Lst[]={0,1,3,6,1,6,3,1,0};
int main(){
int q,l,r,ans;
cin>>q;
while (q--){
l=read(8),r=read(0);
ans=ar_d_Lst[r]-ar_d_Lst[l];
if(ans<0) cout<<ans+9<<endl;
else cout<<ans<<endl;
}
return 0;
}

最后安利一下 本蒟蒻的博客

题解 P4942 【小凯的数字】的更多相关文章

  1. P4942小凯的数字

    给定一个序列,如12345 56789 1011121314等,输出对其取余9的结果. 那么我们需要明白一个定理,一个序列对一个数的取余结果等于它各位之和取余那个数的结果.证明似乎是这样∑i=0n​a ...

  2. 洛谷U32670 小凯的数字(比赛)

    题目网址 https://www.luogu.org/problemnew/show/U32670 题目背景 NOIP2018 原创模拟题T1 NOIP DAY1 T1 or DAY 2 T1 难度 ...

  3. U32670 小凯的数字 数学

    这是洛谷一个比赛中的一道题,和去年NOIP D1T1挺像.我看了一眼之后想“这不是小学奥数吗?求一个数字和就好了呀”...然后,60,剩下T了,gg. 只好看正解,但是一脸懵逼???然后看了证明,c* ...

  4. 题解 P3951 小凯的疑惑

    P3951 小凯的疑惑 数论极菜的小萌新我刚看这题时看不懂exgcd做法的题解,后来在网上找到了一篇博客,感觉代码和推导都更加清新易懂,于是在它的基础上写了题解qwq 分析 两数互质,且有无限个,想到 ...

  5. 联赛膜你测试20 T1 Simple 题解 && NOIP2017 小凯的疑惑 题解(赛瓦维斯特定理)

    前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能 ...

  6. [洛谷P4942][题解]小凯的数字

    这题打着高精的旗号其实是闹着玩的……(我不是题目) 数据范围就是提示你这题O(1)的 我们知道,一个数膜9的余数等于它数字和膜9的余数 我们可以把l到r加起来然后膜9 也就是(l+r)(r-l+1)/ ...

  7. 题解【洛谷P3951】[NOIP2017]小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...

  8. 2017提高组D1T1 洛谷P3951 小凯的疑惑

    洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...

  9. P3951 小凯的疑惑

    P3951 小凯的疑惑 题解 题意也就是求解不能用 ax+by 表示的最大数 ans(a,b,x,y,都是正整数) 给定 a ( =7 ) ,  b ( =3 ) 我们可以把数轴非负半轴上的数按照a的 ...

随机推荐

  1. JSP编码规范

    JSP包含文件 <%@ include file=”relativeURI”%> //在翻译阶段执行加载,比如:校验是否登录通过 jsp的include指令元素读入指定页面的内容.并把这些 ...

  2. ssh: connect to host 120.79.26.164 port 22: Connection timed out报错问题

    要是使用阿里云服务器,出现这种错误,一般是端口没有打开.需要在阿里云控制台中设置端口后,即可使用ssh连接.

  3. Essay写作如何提升自己的辩驳水平?

    辩证思维在英文写作上的表现方式有许多种,今天来讲讲Counterargument&Rebut,广泛用于英文写作和口语辩论.其作用就是通过辩驳和你论点相反的意见,来突出自己的论点更正确. 话说衡 ...

  4. spring boot 连接Mysql介绍

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  5. 哈希(hash)理解

    转载自https://www.cnblogs.com/mingaixin/p/4318837.html 一.什么是哈希?(一种更复杂的映射) Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就 ...

  6. java floor,ceil和round方法

    Math.floor():返回值是double类型的,返回的是不大于它的最大整数 举例: double x = Math.floor(5.8); System.out.println(x); //输出 ...

  7. POJ 1003:Hangover

    Hangover Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 109231   Accepted: 53249 Descr ...

  8. 19 01 19 视图 HttpReqeust对象 GET属性 POST属性 HttpResponse对象

    ---恢复内容开始--- URLconf 义,指定URL和视图函数的对应关系. 在应用内部创建urls.py文件,指定请求地址与视图的对应关系. url(正则,'视图函数名称') 1)如示例在book ...

  9. 关于boostrap的TAB切换 ,如何获取?

    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {    // 获取已激活的标签页的名称    var acti ...

  10. 在div中注入html代码

    直接开始: <div id="content"class="modal-body"> </div> 在angularjs中使用如下代码, ...