题目传送门

Description

设 \(f(i)\) 表示 \(i\) 的数码只和,给出 \(a\),求出 \(l,r\) 使得 \(\sum_{i=l}^{r} f(i)\equiv 0\pmod{a}\)。

Solution

md,为什么会有人想出这么妙的题啊????

我们首先可以看出,\(i<10^{18}\rightarrow f(i+10^{18})=f(i)+1\),那么我们就可以知道:

\[\sum_{i=1}^{10^{18}}\equiv \sum_{i=1}^{10^{18}-1}+f(0)+1\equiv \sum_{i=0}^{10^{18}-1} f(i)+1\equiv p+1\pmod{a}
\]

同理,我们可以推出:

\[\sum_{i=2}^{10^{18}+1}\equiv p+2\pmod{a}
\]
\[\sum_{i=3}^{10^{18}+2}\equiv p+3\pmod{a}
\]

.

.

.

.

.

\[\sum_{i=a-p}^{10^{18}+a-p-1}\equiv p+a-p\equiv 0\pmod{a}
\]

问题就是如何求 \(p\),我们只需要对于每一位考虑它会产生的贡献,可以算出,\(p=81\times 10^{18}\)。

Code

#include <bits/stdc++.h>
using namespace std; #define Int register int
#define MAXN template <typename T> inline void read (T &t){t = 0;char c = getchar();int f = 1;while (c < '0' || c > '9'){if (c == '-') f = -f;c = getchar();}while (c >= '0' && c <= '9'){t = (t << 3) + (t << 1) + c - '0';c = getchar();} t *= f;}
template <typename T,typename ... Args> inline void read (T &t,Args&... args){read (t);read (args...);}
template <typename T> inline void write (T x){if (x < 0){x = -x;putchar ('-');}if (x > 9) write (x / 10);putchar (x % 10 + '0');} #define int long long
int a,inf = 1e18;
signed main(){
read (a);
int p = inf % a * 9 % a * 9 % a,L = a - p,R = L + inf - 1;
write (L),putchar (' '),write (R),putchar ('\n');
return 0;
}

题解 CF468C Hack it!的更多相关文章

  1. CF468C Hack it! 超详细解答

    CF468C Hack it! 超详细解答 构造+数学推导 原文极简体验 CF468C Hack it! 题目简化: 令\(f(x)\)表示\(x\)在十进制下各位数字之和 给定一整数\(a\)构造\ ...

  2. cf468C Hack it!

    Little X has met the following problem recently. Let's define f(x) as the sum of digits in decimal r ...

  3. CF468C Hack It! 构造

    传送门 让人觉得脑子不够用的构造 考虑对于一个区间\([l,r]\)如何让它调整使得最后的结果恰好加上\(1\). 注意到对于一个\(<10^{18}\)的数\(x\),\(f(x+10^{18 ...

  4. uva 1587(Box UVA - 1587)

    题目大意是给定6个数对,每个数对代表一个面的长和宽,判断这6个面是否能构成一个长方体. 这种题一看很复杂,但是只要不想多了实际上这就是一个水题... 首先说明一下判断的思路: 1.长方体是有三个对面的 ...

  5. CF468C 【Hack it!】

    构造题果然都非常神仙啊 首先翻译有点问题,\(L, R\)的范围应该为\([1, 10^{200}]\) 由于模数a达到了\(10^{18}\),所以我们可以发现,当\(i<10^{18}\)时 ...

  6. UNR #1 题解

    A. 争夺圣杯 还是想说一下,这题是原题啊...想做的人可以戳codechef上的MTMXSUM(懒得贴链接了,套了个壳,不过正常人应该都能看得出来) 显然异或输出没什么奇怪的性质... 考虑一个元素 ...

  7. bestcoder Round #7 前三题题解

    BestCoder Round #7 Start Time : 2014-08-31 19:00:00    End Time : 2014-08-31 21:00:00Contest Type : ...

  8. BestCoder Round #60 题解链接

    题解  题目 1001 GT and sequence 注意先特判000的情况:如果读入的数据有000,那么去掉所有的000且最后答案和000取一个max. 剩下的正数显然全部乘起来比较优. 对于负数 ...

  9. BJOI2018 简要题解

    二进制 序列上线段树维护DDP好题. 题解可以看这篇 代码: #include<bits/stdc++.h> #define ri register int using namespace ...

随机推荐

  1. 项目版本管理Git使用详细教程

    前言 记得刚开始做项目开发的时候都是一个人完成一个项目,单打独斗的开发,也不知道什么是团队开发,没有这个概念,随着工作后来知道公司里项目都是团队开发,这个时候这么多人怎么开发一个项目呢,难道用u盘拷贝 ...

  2. 华为分析X HUAWEI Ads,上线深度转化事件回传功能,让ROI 看得见!

    华为分析X HUAWEI Ads,上线深度转化事件回传功能,让ROI 看得见! 随着移动应用生态的流量成本攀升.行业竞争加剧,越来越多的广告商希望通过精准投放来获取更高质量的深度转化用户,比如二手车. ...

  3. 尚硅谷 Go语言核心编程资料

    链接:https://pan.baidu.com/s/1zn8Jf82lxg-2msVS1Iedeg  提取码:5vsg  复制这段内容后打开百度网盘手机App,操作更方便哦

  4. 整合ehcache缓存

    一.分布式集群,多态服务器相同的代码,均衡压力: 二. 1.导包,ehcache适用mybatis的jar包: 2.映射配置文件中配置: 3.ehcache配置文件 4.使用代码和mybatis自带的 ...

  5. k8s架构与组件详解

    没有那么多花里胡哨,直接进行一个K8s架构与组件的学习. 一.K8s架构 k8s系统在设计是遵循c-s架构的,也就是我们图中apiserver与其余组件的交互.在生产中通常会有多个Master以实现K ...

  6. Optional容器类

    一.Optional 容器类:用于尽量避免空指针异常 方法 /* * Optional.of(T t) : 创建一个 Optional 实例 * Optional.empty() : 创建一个空的 O ...

  7. nodejs安装 Later version of Node.js is already installed. Setup will now exit 及 node与npm版本不符

    暴力删除nodejs导致无法重新安装  Later version of Node.js is already installed. Setup will now exit 1.电脑全局搜索nodej ...

  8. FastAPI(6)- get 请求 - 详解 Query

    可选参数 上一篇文章讲过查询参数可以不是必传的,可以是可选参数 from fastapi import FastAPI from typing import Optional import uvico ...

  9. 什么是 baseline 和 benchmark

    baseline 一个算法被称为 baseline 算法说明这个比目前这个算法还差的已经不能接受了,方法有革命性的创新点可以挖掘,且存在巨大提升空间和超越benchmark的潜力,只是由于发展初期导致 ...

  10. Android学习记录(二)——第一次hello world及遇到的gradle安装问题

    开始一个简单的hello world项目,简单了解Android studio的使用方法 第一步,打开Android studio,点击Create New Project 第二步,选择需要的模板 T ...