cf468C Hack it!
Little X has met the following problem recently.
Let's define f(x) as the sum of digits in decimal representation of number x (for example, f(1234) = 1 + 2 + 3 + 4). You are to calculate 
Of course Little X has solved this problem quickly, has locked it, and then has tried to hack others. He has seen the following C++ code:
ans = solve(l, r) % a;
if (ans <= 0)
ans += a;
This code will fail only on the test with
. You are given number a, help Little X to find a proper test for hack.
The first line contains a single integer a (1 ≤ a ≤ 1018).
Print two integers: l, r (1 ≤ l ≤ r < 10200) — the required test data. Leading zeros aren't allowed. It's guaranteed that the solution exists.
46
1 10
126444381000032
2333333 2333333333333
这题贼鸡儿恶心
令f(x)表示x各个位上数字之和,给个p,要求构造一组[l,r],使得{f(l)+f(l+1)+...+f(r)} % p = 0
注意到p<=10^18,当x<=10^18时,又有这样的式子成立:f(10^18+x)=f(x)+1 (这很显然,因为就在最前面加了个1)
所以,如果[l,r]表示{f(l)+f(l+1)+...+f(r)} % p
假设[0,10^18] -> a
[1,10^18+1]->a+1
...
[p-a,10^18+p-a]->p (其实这里模p应该是0了)
这个区间就可以了
然后a不会算……就算了个[0,10^18-1]=8.1*10^19,所以右区间还要减一
这个数字好像还是爆long long的,需要81拆成9*9来搞
#include<cstdio>
int main()
{
long long p,t,e=1e18;scanf("%lld",&p);
t=*e%p*%p;
printf("%lld %lld\n",p-t,e-+p-t);
}
cf 468C
cf468C Hack it!的更多相关文章
- CF468C Hack it! 超详细解答
CF468C Hack it! 超详细解答 构造+数学推导 原文极简体验 CF468C Hack it! 题目简化: 令\(f(x)\)表示\(x\)在十进制下各位数字之和 给定一整数\(a\)构造\ ...
- CF468C Hack It! 构造
传送门 让人觉得脑子不够用的构造 考虑对于一个区间\([l,r]\)如何让它调整使得最后的结果恰好加上\(1\). 注意到对于一个\(<10^{18}\)的数\(x\),\(f(x+10^{18 ...
- 题解 CF468C Hack it!
题目传送门 Description 设 \(f(i)\) 表示 \(i\) 的数码只和,给出 \(a\),求出 \(l,r\) 使得 \(\sum_{i=l}^{r} f(i)\equiv 0\pmo ...
- CF468C 【Hack it!】
构造题果然都非常神仙啊 首先翻译有点问题,\(L, R\)的范围应该为\([1, 10^{200}]\) 由于模数a达到了\(10^{18}\),所以我们可以发现,当\(i<10^{18}\)时 ...
- css常用hack
原文地址:css常用hack 突然想起今天早上在CNZZ看到的统计数据,使用IE6.7的用户比例还真多,看到之后我的心都碎了.微软都放弃了为毛还有这么多人不死心? 所以说,IE下的兼容还是得做的. – ...
- CSS3_01之选择器、Hack
1.兄弟选择器:①相邻兄弟选择器:元素的后一个兄弟元素,选择器1+选择器2:②通用兄弟选择器:元素后的所有兄弟元素,选择器1~选择器2: 2.属性选择器:attr表示属性名称,elem表示元素名:①[ ...
- CSS Hack技术介绍及常用的Hack技巧集锦
一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CS ...
- Medial Queries的另一用法——实现IE hack
众所周知,有些时候为了实现IE下的某些效果与现代浏览器一致,我们不得不使用一些hack手段来实现目的.比如说使用"\0","\"和"\9"来 ...
- CSS Hack
CSS HACK,网上有很多,主要是IE版本不同造成的,尽量不要用CSS HACK,实在调不过去可以用一用,相信以后随着IE低版本的淘汰,CSS HACK也将不在使用. 类内部HACK IE6识别 - ...
随机推荐
- 洛谷 P1181 数列分段Section I(水题日常)
题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入输出格式 输入格式: 输入文件divide_ ...
- webpack 使用流程
webpack loader 读文件的 脚手架 vue-cli: 自动化的小工具,帮咱们把项目的架子搭起来 -------------------------------------- 开发环境 n ...
- 二分查找 && 三分查找
LeetCode34. Find First and Last Position of Element in Sorted Array 题意:找出指定元素出现的范围,Ologn 思路:两次二分 cla ...
- JavaScript中的显示原型和隐形原型(理解原型链)
显式原型:prototype 隐式原型:__proto__ 1.显式原型和隐式原型是什么? 在js中万物皆对象,方法(Function)是对象,方法的原型(Function.prototype)是对象 ...
- java后台验证码的生成
前台代码: <tr> <td>验证码</td> <td><input name="checkCode" type=" ...
- windows使用文件服务器搭建Git服务器
背景: 1.windows下搭建git服务器. 2.git服务器搭建在局域网文件共享区中. 3.没有复杂的权限控制,文件共享区都有访问权限. 步骤: 1.文件共享区中创建git远程仓库. 2.本地克隆 ...
- JS获取单选框checked的value方法
; var obj = document.getElementsByTagName("input"); document.getElementById('gender').oncl ...
- js-DOM-css的className相关
1.在非标准的浏览器,IE8及以下的浏览器不支持className的操作,包括getElementByClassName,addClassName,removeClassName; 2.getEle ...
- redis 散列学习要点记录
散列类型键值也是种字典结构,存储了字段和字段值的映射,字段值只能是字符串,不可以是其他类型(redis数据类型都不可嵌套使用其他类型),散列类型键可以有2的32次方减1个字段 散列的命令组 hset ...
- python--MySQL权限管理 数据备份还原
一 权限管理 mysql最高管理者是root用户, 这个一般掌握在公司DBA手里, 当你想去对数据库进行一些操作的时候,需要DBA授权给你. 1. 对新用户增删改 1. 创建用户 # 要先use my ...