U32670 小凯的数字 数学
这是洛谷一个比赛中的一道题,和去年NOIP D1T1挺像。我看了一眼之后想“这不是小学奥数吗?求一个数字和就好了呀”。。。然后,60,剩下T了,gg。
只好看正解,但是一脸懵逼???然后看了证明,c**,竟然是先转换然后等差数列求和,说白了又是一道猜结论的题。。。我太菜了。
题干:
题目背景 NOIP2018 原创模拟题T1 NOIP DAY1 T1 or DAY T1 难度 是否发现与NOIP2017 DAY1 T1 有异曲同工之妙 说明:#,bug已修复
题目描述 小凯有一天突发奇想,写下了一串数字:l(l+)(l+)...(r−)rl(l+)(l+)...(r-)rl(l+)(l+)...(r−)r 例如:l=,r=5l=,r=5l=,r=5时,数字为: l=,r=12l=,r=12l=,r=12时数字为: 小凯很喜欢数字9,所以他想问你他写下的数字除以9的余数是多少 例如:l=,r=5l=,r=5l=,r=5时, mod =
输入输出格式
输入格式: 输入格式: 第一行为数字Q,表示小凯有Q个问题 第2-Q+1行,每行两个数字 l,r 表示数字范围 输出格式: 输出格式: 对于每行的问题输出一行,一个数字,表示小凯问题的回答
输入输出样例
输入样例#: 复制 输出样例#: 复制 输入样例#: 复制 输出样例#: 复制 说明
样例1解释: mod = mod =
% 数据满足:Q<=;l,r<=100Q<=;l,r<=100Q<=;l,r<=
% 数据满足:Q<=;l,r<=10000Q<=;l,r<=10000Q<=;l,r<=
% 数据满足:Q<=;l,r<=106Q<=;l,r<=^6Q<=;l,r<=
%数据满足:Q<=;l,<r<=1012Q<=;l,<r<=^{}Q<=;l,<r<= 且 l<=rl<=rl<=r
60分
#include<iostream>
#include<cstdio>
#include<cmath>
#include<ctime>
#include<queue>
#include<algorithm>
#include<cstring>
using namespace std;
#define duke(i,a,n) for(ll i = a;i <= n;i++)
#define lv(i,a,n) for(int i = a;i >= n;i--)
#define clean(a) memset(a,0,sizeof(a))
const int INF = << ;
typedef long long ll;
typedef double db;
template <class T>
void read(T &x)
{
char c;
bool op = ;
while(c = getchar(), c < '' || c > '')
if(c == '-') op = ;
x = c - '';
while(c = getchar(), c >= '' && c <= '')
x = x * + c - '';
if(op) x = -x;
}
template <class T>
void write(T x)
{
if(x < ) putchar('-'), x = -x;
if(x >= ) write(x / );
putchar('' + x % );
}
ll l,r;
ll pan(int x)
{
ll tot = ;
while(x)
{
tot += x % ;
x /= ;
}
return tot;
}
ll a = ;
int main()
{
int t;
read(t);
while(t--)
{
a = ;
read(l);read(r);
duke(i,l,r)
{
a += pan(i);
a %= ;
}
printf("%lld\n",a);
}
return ;
}
AC代码:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<ctime>
#include<queue>
#include<algorithm>
#include<cstring>
using namespace std;
#define duke(i,a,n) for(ll i = a;i <= n;i++)
#define lv(i,a,n) for(int i = a;i >= n;i--)
#define clean(a) memset(a,0,sizeof(a))
const int INF = << ;
typedef long long ll;
typedef double db;
template <class T>
void read(T &x)
{
char c;
bool op = ;
while(c = getchar(), c < '' || c > '')
if(c == '-') op = ;
x = c - '';
while(c = getchar(), c >= '' && c <= '')
x = x * + c - '';
if(op) x = -x;
}
template <class T>
void write(T x)
{
if(x < ) putchar('-'), x = -x;
if(x >= ) write(x / );
putchar('' + x % );
}
ll l,r;
ll pan(int x)
{
ll tot = ;
while(x)
{
tot += x % ;
x /= ;
}
return tot;
}
ll a = ,b = ;
int main()
{
int t;
read(t);
while(t--)
{
a = ;
b = ;
read(l);read(r);
a = l + r;
b = r - l + ;
if(a % == )
a /= ;
if(b % == )
b /= ;
printf("%lld\n",(a % ) * (b % ) % );
}
return ;
}
代码:
U32670 小凯的数字 数学的更多相关文章
- 洛谷U32670 小凯的数字(比赛)
题目网址 https://www.luogu.org/problemnew/show/U32670 题目背景 NOIP2018 原创模拟题T1 NOIP DAY1 T1 or DAY 2 T1 难度 ...
- 【BZOJ5074】[Lydsy十月月赛]小B的数字 数学
[BZOJ5074][Lydsy十月月赛]小B的数字 题解:题目是问你ai*bi>=sum,bi>=0这个不等式组有没有解.因为a<=10,容易想到取ai的lcm,然后变成lcm*b ...
- [洛谷P4942][题解]小凯的数字
这题打着高精的旗号其实是闹着玩的……(我不是题目) 数据范围就是提示你这题O(1)的 我们知道,一个数膜9的余数等于它数字和膜9的余数 我们可以把l到r加起来然后膜9 也就是(l+r)(r-l+1)/ ...
- 题解 P4942 【小凯的数字】
题目 为什么看到很多题解区的 dalao 都用逆元?是我太菜了吧 [分析] 首先,根据弃九验算法的原理,显然可以得到:一个 \(n\) 位数 \(a_1a_2a_3\dots a_n\equiv a_ ...
- 洛谷 P3951 小凯的疑惑(数学)
传送门:Problem P3951 https://www.cnblogs.com/violet-acmer/p/9827010.html 参考资料: [1]:http://m.blog.sina.c ...
- 洛谷P3951 小凯的疑惑 - 数学 /扩展欧几里得
传送门 题意:求出a和b不能通过线性组合(即n*a+m*b)得到的最大值: 思路:摘自洛谷: 不妨设 a<b 假设答案为 x 若 x≡m*a ( mod b )(1≤m≤b−1) (mod3)什 ...
- P4942小凯的数字
给定一个序列,如12345 56789 1011121314等,输出对其取余9的结果. 那么我们需要明白一个定理,一个序列对一个数的取余结果等于它各位之和取余那个数的结果.证明似乎是这样∑i=0na ...
- 2017提高组D1T1 洛谷P3951 小凯的疑惑
洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...
- NOIP 2017 小凯的疑惑
# NOIP 2017 小凯的疑惑 思路 a,b 互质 求最大不能表示出来的数k 则k与 a,b 互质 这里有一个结论:(网上有证明)不过我是打表找的规律 若 x,y(设x<y) 互质 则 : ...
随机推荐
- 关于类似vue-cli 脚手架
#!/usr/bin/env node const download = require('download-git-repo') const program = require('commander ...
- [Windows Server 2012] Filezilla安全加固方法
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:FileZ ...
- 查看Windows XP是否已激活的方法
打开开始→运行, 在输入:oobe/msoobe /a,回车后系统会弹出窗口告诉你系统是否已经激活
- css特殊效果
border-radius实现特殊形状 .box{ width: 100px; height: 100px; background: orange; border: 1px solid #000; b ...
- Vue动态创建组件方法
组件写好之后有的时候需要动态创建组件.例如: 编辑文章页面,正文是一个富文本编辑器,富文本编辑器是一个第三方的组件,点击添加章节的时候需要动态的创建一个富文本编辑器这个时候怎么处理呢. 富文本编辑器也 ...
- zepto处理touch事件
处理Touch事件能让你了解到用户的每一根手指的位置,在touch事件触发的时候产生,可以通过touch event handler的event对象取到,如果基于zepto.js开发,一般是通过eve ...
- 最快的 Python Web 框架入门
速度比较 框架 实现基础 每秒请求数 平均时间 Sanic Python 3.5 + uvloop 30,601 3.23ms Wheezy gunicorn + meinheld 20,244 4. ...
- vivado2018.3 与 modelsim联合仿真
我用的是目前最新版本的软件,vivado2018.3与modelsim10.6d.废话不多说,直接上操作 1.modelsim编译vivado库 1)双击启动vivado软件,如下图操作 2)Simu ...
- 类 Fabric 主机管理程序开发
类 Fabric 主机管理程序开发:1. 运行程序列出主机组或者主机列表2. 选择指定主机或主机组3. 选择让主机或者主机组执行命令或者向其传输文件(上传/下载4. 充分使用多线程或多进程5. 不同主 ...
- 46.颜色+品牌下钻分析时按最深层metric进行排序
主要知识点: 在做下钻分析时的排序 需求,以颜色进行bucket,这里bucket里面的doc以其各品牌的平均价格排序, GET /tvs/sales/_search { " ...