传送门: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. 操作Excel的宏

          有时候在Excel中,需要循环的算每一列的值,而这一列的值是某几列的求和或者某种运算后的结果,比如如下的C4=C3+B4      可以用一个宏来实现,宏代码如下: Dim i As In ...

  2. python3.6 新特性学习

    #支持类型提示 typing { def greeting(name: str) -> str: return 'Hello ' + name #在函数greeting中,参数名称的类型为str ...

  3. C++ STL容器——stack用法介绍

    stack是一种容器适配器,专门设计用于在LIFO上下文中操作(后进先出),其中元素仅从容器的一端插入和删除. 容器适配器,而不是一种容器. 它是容器适配器是指,只要支持一系列方法的容器(empty, ...

  4. 关于c++的头文件依赖

    正在看google c++编程规范,里面对头文件依赖是这么说的: 使用前置声明(forward declarations)尽量减少.h文件中#include的数量. 当一个头文件被包含的同时也引入了一 ...

  5. Go基础篇【第6篇】: 内置库模块 flag

    import "flag" flag包实现了命令行参数的解析.每个参数认为一条记录,根据实际进行定义,到一个set集合.每条都有各自的状态参数. 在使用flag时正常流程: 1.  ...

  6. C++结构体排序

    在C++中,对结构体的排序方式比C语言丰富的多.在C语言中,我们主要是通过qsort进行排序操作(抛开手写排序算法不说). 在C++<algorithm>中,有一个十分强大的排序函数sor ...

  7. C# Lambda表达式使用累加器例子

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lamb ...

  8. C#与Javascript变量、函数之间的相互调用

    原文地址:http://blog.csdn.net/wonsoft/article/details/2595743 C#与Javascript变量.函数之间的相互调用  一.javascript调用C ...

  9. 不错的PDF开发库

    C++库: 1,PDF类库 PoDoFo   http://podofo.sourceforge.net/  PoDoFo 是一个用来操作 PDF 文件格式的 C++ 类库.它还包含一些小工具用来解析 ...

  10. Android中常见的坑有哪些?

    对于安卓开发入门级程序猿而言,由于不熟悉代码.工具等等,掉进一些坑中是难免的,今天小编在网上看到一位大神总结的Android开发中比较常见的坑及其原因和解决办法,赶脚还不错,分享出来,给大家提个醒. ...