当前位置:网站首页>线性筛求积性函数
线性筛求积性函数
2022-07-30 18:00:00 【AC__dream】
题目链接:登录—专业IT笔试面试备考平台_牛客网
样例输入:
5
1
2
3
4
5
样例输出:
1
2
2
3
2
分析:我们可以对q个询问进行暴力求解,每次询问的复杂度就是O(n^0.5),那么总的复杂度就是q*n^0.5,大概是10^8.5,估计过不了,况且如果对于别的题,询问组数再多一些,那么就铁定过不了了。
设f[n]表示n的所有正因数的个数,那么f[n]是一个积性函数,如果不知道积性函数或者不知道为什么f[n]是一个积性函数的话可以看一下:积性函数_AC__dream的博客-CSDN博客
我们可以通过线性筛直接O(n)预处理出来所有的f[n],直接对于每组询问O(1)查询即可。
过程由于在之前积性函数那篇博客中已经讲解的非常明白了,这里就不赘述了
下面是代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<vector>
#include<queue>
using namespace std;
const int N=1e7+10;
bool vis[N];
int prime[N],tt,f[N];
int cnt[N];//cnt[i]记录i的最小质因子的次数
void init()
{
f[1]=1;
for(int i=2;i<N;i++)
{
if(!vis[i])
{
prime[++tt]=i;
f[i]=2;
cnt[i]=1;
}
for(int j=1;j<=tt&&i*prime[j]<N;j++)
{
vis[i*prime[j]]=true;
if(i%prime[j]==0)//prime[j]是i的最小质因子
{
cnt[i*prime[j]]=cnt[i]+1;
f[i*prime[j]]=f[i]/(1+cnt[i])*(2+cnt[i]);
break;
}
cnt[i*prime[j]]=1;
f[i*prime[j]]=f[i]*f[prime[j]];
}
}
}
int main()
{
int q;
init();
cin>>q;
while(q--)
{
int n;
scanf("%d",&n);
printf("%d\n",f[n]);
}
return 0;
}
边栏推荐
- This year..I sincerely recommend the professional engineer to upgrade to the book!
- DevEco Studio3.0下载失败,提示An unknown error occurred
- 【解决】关于 Unity Hub 获取许可证失败 或 无响应导致无法开发的问题
- Network Basics (3) 01-Basic Concepts of Networks - Protocols, Host Addresses, Paths and Parameters of URL Addresses & 127.0.0.1 Local Loopback Address & View URL IP Address and Access Ping Space + URL
- 2022鹏城杯web
- SQL行列转换
- 【HarmonyOS】【ARK UI】HarmonyOS ets语言怎么实现双击返回键退出
- Web3时代重要基础设施深度拆解:4EVERLAND
- CMake库搜索函数居然不搜索LD_LIBRARY_PATH
- 华为无线设备配置Mesh业务
猜你喜欢
windwons 下GPU环境和pytorch安装
多年以后「PageHelper」又深深的给我上了一课
基础架构之Redis
Test the.net text to Speech module System. Researched
ESP8266-Arduino programming example-BMP180 air pressure temperature sensor driver
5 个开源的 Rust Web 开发框架,你选择哪个?
PyTorch 猫狗分类源代码及数据集
微博广告分布式配置中心的构建与实践(有彩蛋)
2022年杭电多校第2场 1001 Static Query on Tree(树链剖分+哈希表差分
Vulkan与OpenGL对比——Vulkan的全新渲染架构
随机推荐
信息学奥赛一本通 1915:【01NOIP普及组】最大公约数与最小公倍数 | 洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧试读版
LayaBox---TypeScript---类型兼容性
Linux-安装MySQL(详细教程)
What is an ultrasonic flaw detector used for?
「Redis应用与深度实践笔记」,深得行业人的心,这还不来看看?
【HMS core】【Analytics Kit】【FAQ】如何解决华为分析付费分析中付款金额显示为0的问题?
顺通海关查验预约综合管理系统
测试行业干了5年,从只会点点点到了现在的测试开发,总算是证明了自己
毕业1年从事软件测试拿下11.5k,没有给98后丢脸吧...
你好好想想,你真的需要配置中心吗?
Application of time series database in the field of ship risk management
reporter undercover
What ARC does at compile time and runtime
What are the applications of X-rays?
快使用flyway管理sql脚本吧~
Mongo for infrastructure
数据库系统原理与应用教程(063)—— MySQL 练习题:操作题 39-50(七):SELECT 基本语法联系
网络基础(三)01-网络的基础概念——URL地址组成之协议、主机地址、路径和参数&127.0.0.1本地回环地址& 查看网址IP地址并访问之ping空格+网址&netstat -anb查看本机占用端口
Ecplise执行C语言报错:cannot open output file xxx.exe: Permission denied