题目链接

题目

题目描述

小红定义一个数满足以下条件为“漂亮数”:

  1. 该数不是素数。

  2. 该数可以分解为2个素数的乘积。

4 是漂亮数,因为 4=2*2

21 是漂亮数,因为 21=3*7

30 不是漂亮数,因为 30=235

73 不是漂亮数。因为 73 本身即是素数。

输入 \(l\) 和 \(r\) ,请你输出 \([l,r]\) 闭区间中有多少个漂亮数。

输入描述

第一行输入一个正整数 \(t\) ,代表有 \(t\) 次询问

两个正整数 \(l\) 和 \(r\) ,用空格隔开。

\(1 \leq t \leq 10^5\)

\(1 \leq l \leq r \leq 10^8\)

输出描述

共输出 \(t\) 行,每行为一个整数,代表 \(l\) 到 \(r\) 中漂亮数的数量。

示例1

输入

1
150 200

输出

12

题解

知识点:筛法,前缀和。

我们可以考虑线性筛的过程中,判断一个数是否是由一个素数 \(i\) 的素数倍 \(j\) 筛掉的,此时 \(j\) 是最小质因子,\(i\) 是另一个质因子,于是这个数就是符合条件的数。

最后,我们用前缀和维护一下询问即可。

时间复杂度 \(O(n)\)

空间复杂度 \(O(n)\)

代码

#include <bits/stdc++.h>
using namespace std;
using ll = long long; const int N = 1e8 + 7;
bool vis[N];
int f[N];
vector<int> prime;
void get_prime(int n) {
for (int i = 2;i <= n;i++) {
if (!vis[i]) prime.push_back(i);
for (auto j : prime) {
if (i * j > n) break;
vis[i * j] = 1;
if (!vis[i]) f[i * j] = 1;
if (!(i % j)) break;
}
}
} bool solve() {
int l, r;
cin >> l >> r;
cout << f[r] - f[l - 1] << '\n';
return true;
} int main() {
std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t = 1;
cin >> t;
get_prime(1e8);
for (int i = 1;i <= 1e8;i++) f[i] += f[i - 1];
while (t--) {
if (!solve()) cout << -1 << '\n';
}
return 0;
}

NC224933 漂亮数的更多相关文章

  1. cf(#div1 A. Dreamoon and Sums)(数论)

    A. Dreamoon and Sums time limit per test 1.5 seconds memory limit per test 256 megabytes input stand ...

  2. cf55D 数位dp记忆化搜索+状态离散

    /* 漂亮数定义:可以整除任意数位上的数 求出区间[l,r]之间的漂亮数个数 因为 dp[i][j][k]:i位前模lcm的值是j,i位前lcm是k的漂亮数个数 */ #include<bits ...

  3. zoj Beautiful Number(打表)

    题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2829 题目描述: Mike is very lucky, as ...

  4. 「kuangbin带你飞」专题十五 数位DP

    传送门 A.CodeForces - 55D Beautiful numbers 题意 一个正整数是 漂亮数 ,当且仅当它能够被自身的各非零数字整除.我们不必与之争辩,只需计算给定范围中有多少个漂亮数 ...

  5. Codeforces 946 课程表背包DP 数位DFS构造

    A B 给你A,B 两个数      1.a=0 OR b=0 break      2.a>=2b a=a-2b        3.b>=2a b=b-2a 如果只是单纯模拟肯定会超时 ...

  6. 893B. Beautiful Divisors#美丽的因子(打表法)

    题目出处:http://codeforces.com/problemset/problem/893/B 题目大意:找到一个数在二进制下,最大的以k个连续的1和k-1个连续的0组成的数字作为因子 #in ...

  7. hdu 5179 beautiful number(构造,,,,)

    题意: 一个如果称作是漂亮数,当且仅当满足: 每一位上的数字是[1,9],从高到时低数字大小降序,且有di%dj=0(i<j) 例:931 给一个区间[L,R],问这个区间里有多少个漂亮数. 1 ...

  8. 刷题记录:Codeforces Round #739 (Div. 3)

    Codeforces Round #739 (Div. 3) 20210907.网址:https://codeforces.com/contest/1560. --(叹). A 不希望出现带" ...

  9. 数论 - 高精度Fibonacci数 --- UVa 10183 : How Many Fibs ?

    How many Fibs? Description Recall the definition of the Fibonacci numbers: f1 := 1 f2 := 2 fn := f n ...

  10. HDUOJ 2672---god is a girl 《斐波那契数》

    god is a girl Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

随机推荐

  1. kibana上执行ES DSL语言查询数据并查看表结构与数据、删除索引、查看文件大小

    转载请注明出处: 1.kibana 上执行DSL 语言: 在kibana 中找到 Dev Tools,并双击打开,就可以进入执行DSL得执行页面了 执行DSL,示例如图: 2.在kibana上查看ES ...

  2. 【ThreadX-FileX】Azure RTOS FileX概述

    Azure RTOS FileX嵌入式文件系统是Azure RTOS的高级工业级解决方案,适用于Microsoft FAT文件格式,专门针对深度嵌入式,实时和IoT应用程序而设计.Azure RTOS ...

  3. 【转】获取本地图片的URL

        在写博客插入图片时,许多时候需要提供图片的url地址.作为菜鸡的我,自然是一脸懵逼.那么什么是所谓的url地址呢?又该如何获取图片的url地址呢? 首先来看一下度娘对url地址的解释:url是 ...

  4. JMS微服务开发示例(三)使用分布式锁和编写定时任务

    分布式锁 在Controller当中,提供了分布式锁的功能,代码如下: class HelloworldController : MicroServiceControllerBase { static ...

  5. 【转帖】eBay 流量管理之 Kubernetes 网络硬核排查案例

    https://www.infoq.cn/article/L4vyfdyvHYM5EV8d3CdD 一.引子 在 eBay 新一代基于 Kubernetes 的云平台 Tess 环境中,流量管理的实现 ...

  6. [转帖]Shell中常用的date时间命令

    常用FORMAT %Y  YYYY格式的年份(Year) %m  mm格式的月份(),01-12 %d   dd格式的日期(day of month),01-31 %H   HH格式的小时数(),00 ...

  7. [转帖]RPC 框架架构设计

    github地址:https://github.com/xiaojiesir/mini-rpc RPC 又称远程过程调用(Remote Procedure Call),用于解决分布式系统中服务之间的调 ...

  8. [转帖]计算机体系结构-cache高速缓存

    https://zhuanlan.zhihu.com/p/482651908 本文主要介绍了cache的基本常识.基本组成方式.写入方法和替换策略,在基本组成方式和替换策略两节给出了较为详细的硬件实现 ...

  9. ARM 平台Docker运行RabbitMQ 以及迁移的简单办法

    公司网络很垃圾. 可以使用vps 进行下载和打包  放到 公司的机器上面进行使用. 1. 搜索有没有可用的镜像. [root@JNXLH ~]# docker search rabbitmq |gre ...

  10. 谈JVM参数GC线程数ParallelGCThreads合理性设置

    作者:京东零售 刘乐 导读:本篇文章聚焦JVM参数GC线程数的合理配置,从ParallelGCThreads参数含义.参数设置,到参数实验以及修改意见进行解析. 1. ParallelGCThread ...