传送门:https://jzoj.net/senior/#main/show/2700

【题目大意】

令n为正整数,S(n)为n的各位数字之和,令

aaarticlea/png;base64,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" alt="" width="205" height="42" />

小Z喜欢的数一定能表示成 x * D(x) 这种形式。

小D也是个开朗的人,他知道QQ号码是随出来的。那么,他想知道在区间[L, R]中,他喜欢的数出现了多少次呢?

多组数据。

1<=T<=5, 1<=L<=R<=10^18

【题解】

打一个表就知道D(n)=((n-1) mod 9) + 1

然后我们如果有k * D(k) = n,那么有n + X = (k + X/D(k)) * D(k + X/D(k))。

由于D(k)属于1~9,2520为1~9的公倍数,且D(k)是9个一循环,所以X/D(k)也要是9的倍数,所以X最小值为2520 * 9。

早上不管这么多直接刚了个3628800就过了。。

# include <stdio.h>
# include <string.h>
# include <iostream>
# include <algorithm>
// # include <bits/stdc++.h> using namespace std; typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
const int M = 5e5 + , F = ;
const int mod = 1e9+; # define RG register
# define ST static int T;
ll L, R;
bool ok[F + ];
int all; inline int D(ll x) {return (x-)%+;} # define beg(x) ((x-)*F+)
# define end(x) (x*F)
# define block(x) ((x-)/F+)
# define ord(x) ((x-)%F+) inline void sol() {
cin >> L >> R;
ll le = block(L), ri = block(R), ans = ;
if(le == ri) {
for (ll i=L; i<=R; ++i) ans += ok[ord(i)];
cout << ans << endl;
return ;
}
if(ri - le >= ) ans = (ll)(ri - le - ) * all;
for (ll i=end(le); i>=L; --i) ans += ok[ord(i)];
for (ll i=beg(ri); i<=R; ++i) ans += ok[ord(i)];
cout << ans << endl;
} int main() {
// freopen("num.in", "r", stdin);
// freopen("num.out", "w", stdout);
cin >> T;
for (int i=, t; i<=F; ++i) {
for (int j=; j<=; ++j) {
if(i%j) continue;
t = i/j;
if(D(t) == j) {
ok[i] = ;
break;
}
}
all += ok[i];
}
while(T--) sol();
return ;
}

jzoj2700 【GDKOI2012模拟02.01】数字的更多相关文章

  1. jzoj2701 【GDKOI2012模拟02.01】矩阵

    传送门:https://jzoj.net/senior/#main/show/2701 [题目大意] 给出矩阵A,求矩阵B,使得

  2. [JZOJ2702] 【GDKOI2012模拟02.01】探险

    题目 题目大意 给你一个每条边正反权值不一定相同的无向图,求起点为111点的最小环. 思考历程 一看到这题,就觉得是一个经典模型. 然后思考先前做过最小环的经历,发现没个卵用. 我突然想到,既然这一个 ...

  3. http://www.cnblogs.com/draem0507/archive/2013/02/01/2889317.html

    http://www.cnblogs.com/draem0507/archive/2013/02/01/2889317.html

  4. oracle问题 《经由直接路径由 EXPORT:V10.02.01 创建的导出文件 IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件》

    问题:  经由直接路径由 EXPORT:V10.02.01 创建的导出文件 : 只有 DBA 才能导入由其他 DBA 导出的文件 解决方法:用sys 登录,给当前用户授权,授权语句:grant dba ...

  5. 2016.02.01日,UdoOS系统项目正式开通了

    2016.02.01日,UdoOS系统项目正式开通了,源代码即将开放 Copyright (c) 2016

  6. 【CJOJ P1957】【NOIP2010冲刺十模拟赛】数字积木

    [NOIP2010冲刺十模拟赛]数字积木 Description 小明有一款新式积木,每个积木上都有一个数,一天小明突发奇想,要是把所有的积木排成一排,所形成的数目最大是多少呢? 你的任务就是读入n个 ...

  7. 02.02.01 第1章 简介及基础操作(Power BI商业智能分析)

    02.02.01.01 powerbi简介 00:10:59 02.02.01.02 query数据导入 00:03:26 具体操作实例如下: 02.02.01.03导入access数据 00:05: ...

  8. http://www.cnblogs.com/langtianya/archive/2013/02/01/2889682.html

    http://www.cnblogs.com/langtianya/archive/2013/02/01/2889682.html

  9. 2020.02.01【NOIP提高组】模拟B 组总结反思——数列(sequence) 树 【2012东莞市选】时间流逝 挖掘机技术哪家强

    T1 数列(sequence) 比赛时 我自以为是地打了简简单单一个判断--- 之后 Waiting-- T2 2753. 树(tree) 比赛时 这题我居然比赛时也想了很久,可能是因为我太懒,我很早 ...

随机推荐

  1. 用ServiceStack操作使用redis的问题

    最近在学习Redis,查阅网上很多资料后使用SericeStack连接redis.在nuget中下载ServiceStack.Redis,主要使用到四个dll 但是运行之后会出现一堆奇怪问题:没有实现 ...

  2. Ubuntu 安装Qt

    下载Qt,这里步骤略过 设置共享, 如果设置共享没有问题,可以不看下面的 如果设置共享,在Ubuntu中找不到共享文件的话,那安找下面的步骤在来一次. http://blog.csdn.net/z60 ...

  3. nmon Analyser分析仪

    nmon Analyser官网: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+System ...

  4. django2.0 以上版本安装 xadmin

    1.xadmin的下载 源码包下载地址: https://github.com/sshwsfc/xadmin/tree/django2 2.使用命令安装xadmin pip install 你下载的压 ...

  5. Dijkstra标准模板

    Dijkstra求最短路问题:单元求最短路,从任意点出发求得该点到达其他任意点的距离 Dijkstra其实是一种贪心策略,与出发点(即源点)所连接的点中找到距离最短的点(这个距离是源点到这个点的最短距 ...

  6. 对 a = [lambda : x for x in range(3)] 的理解

    上面的语句创建了一个列表 a ,其中有三个元素,每个元素都是一个 lambda 匿名函数. >>> a = [lambda : x for x in range(3)] >&g ...

  7. JAVA的文件操作【转】

    11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...

  8. 简单的java采集程序二

    继[简单的java采集程序],这里将完成对整个网站的号码段的采集任务. [使用预编译+批处理采集网页内容至数据库表中]          在之前我们用statement类来创建sql语句的执行对象,以 ...

  9. 算法(7)Majority Element II

    题目:找出数组中出现次数大于n/3次的数字 思路:摩尔投票法.所有的帖子中都说:先遍历一遍数组找到备选元素,然后再遍历一遍数组考察下这个元素是否是真的超过n/3,然后就直接上代码,但是现在的问题是:我 ...

  10. 用WebService实现两个整数运算

    最近,项目开发中需要用到Web Service.自己在网上搜集资料.自己做了一个小例子,用来加深自己对Web Service理解. 概念:Web Service主要是为了使原来各孤立的站点之间的信息能 ...