【线性筛】ccpc黑龙江省赛 F

news2024/9/24 5:40:37

第一次vp省赛,只出了三题,很寄啊

Problem - F - Codeforces

题意:

思路:

题目一直在强调最小质因子,我们考虑边跑线性筛边求贡献

一、

对于第一种情况,即遇到的数是质数,贡献直接+1就好了

二、

对于第二种情况,即遇到的数是一个质数的幂次

通过迭代得到:f(p^k)=f(n)=p^(k/2)

三、

对于第三种情况,f(n)=p1^(k1/2)*(n/p1^k1)

那这种情况的贡献就是用p1除完n之后的值*p1^k1,p1^k2就转化成第二种情况

然后去考虑线性筛

1.质数的时候贡献+1

2.当i%prime[j]==0的时候,prime[j]不是i的最小质因子,因此n=i*prime[j]具有prime[j]的幂次,也有别的质因子,所以就对应了第三种情况

3.当i%prime[j]!=0的时候,此时prime[j]是i的最小质因子,同样也是第三种情况。因为是用最小质因子去筛的,因此最小质因子的指数k1=1,贡献就是 p1^(1/2)*(i*p1)/p1^1=i

Code:

#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
const int mxn=1e7+10;

int n,len=0;
i64 ans=1;
int prime[mxn],vis[mxn];
i64 ksm(int a,int b){
    i64 res=1;
    while(b){
        if(b&1) res=(res*a);
        a=(a*a);
        b>>=1;
    }
    return res;
}
void init(int n){
    for(int i=2;i<=n;i++){
        if(!vis[i]) prime[++len]=i,ans++;
        for(int j=1;i<=n/prime[j];j++){
            vis[i*prime[j]]=1;
            if(i%prime[j]==0){
                i64 tmp=i*prime[j];
                int s=0;
                while(tmp%prime[j]==0) tmp/=prime[j],s++;
                ans+=tmp*ksm(prime[j],s/2);
                break;
            }
            ans+=i;
        }
    }
}
void solve(){
    cin>>n;
    init(n);
    cout<<ans<<'\n';
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int __=1;//cin>>__;
    while(__--)solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac在命令行里获取root权限

1、为什么要获取root权限&#xff1f; 答&#xff1a;一些命令在正常状态下没有权限会报错&#xff0c;只有获取了root权限才能正常操作。 比如我们想修改一些系统的文件&#xff1a; vim /etc/shells 1 修改后保存&#xff0c;发现没权限&#xff0c;报错了。如下图&#xf…

MaxWell原理概述

文章目录1.MaxWell概述2.Maxwell输出数据格式3.Maxwell原理3.1 MySQL二进制日志3.2 MySQL主从复制1.MaxWell概述 Maxwell 是由美国Zendesk公司开源&#xff0c;用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作&#xff08;包括insert、update、dele…

传输层重点协议

1.TCP协议 TCP&#xff0c;即Transmission Control Protocol&#xff0c;传输控制协议。人如其名&#xff0c;要对数据的传输进行一个详细的控制。 TCP协议段格式 源/目的端口号&#xff1a;表示数据是从哪个进程来&#xff0c;到哪个进程去&#xff1b;32位序号/32位确认号…

第三章-OpenCV基础-6-滤波处理

前置内容 在尽量保留图片原有信息的情况下,过滤掉图像内部的噪声的过程成为对图像的平滑处理(又称滤波处理),所得到的图像成为平滑图像(把图像中的噪点过滤掉,生成一个相对平滑的图像)。 举个栗子: 一个图像有个噪点,加载发现有个点的像素值和周边像素值差异太大格格不入,使用…

[C++]多态

&#x1f941;作者&#xff1a; 华丞臧 &#x1f4d5;​​​​专栏&#xff1a;【C】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449;LeetCode 文章目录一、多态…

【Opencv项目实战】背景替换:帮你的证件照换个背景色

文章目录方法一、基于removebg的背景替换1.1、removebg介绍1.2、环境配置1.3、算法详解1.4、实战&#xff1a;单张图片背景替换1.5、实战&#xff1a;多张图片背景替换1.6、实战&#xff1a;UI自选择图片进行背景替换方法二、基于backgroundremover的背景替换2.1、backgroundre…

创建对象的方式和对属性的操作

javaScript支持多种编程范式&#xff0c;包括函数式编程和面向对象编程&#xff0c;javaScript的对象被设计成一组属性的无序集合&#xff0c;由key和value组成。 创建对象的两种方式 早期使用创建对象方式最多的是使用Object类&#xff0c;使用new关键字来创建一个对象&…

应用篇|网络安全知识培训考试,答题小程序操作指引

网络安全知识培训考试&#xff0c;答题小程序操作指引关于全民防诈反诈宣传或者网络安全知识学习&#xff0c;如何进行组织一场微信线上答题考试&#xff1f;可以在小程序“护网专题信息安全知识竞答”&#xff0c;先创建一个学习单位/小组&#xff0c;再邀请成员加入单位/小组…

如何构造个人 AI 策略:从 AI 绘画的演进与 ChatGPT 现状出发?

持续关注 AI 相关探索&#xff1a;https://github.com/phodal/ai-researchPS&#xff1a;就本文的结论而言&#xff0c;我相信你已经或多或少的有所体会了。也因此&#xff0c;本文更多的是展现一个思考的过程&#xff0c;而不是一个纯粹的结论。AIGC 是什么&#xff1f;它是指…

pyenv安装python虚拟环境

文章目录pyenv介绍准备工作安装pyenv设置虚拟环境pyenv介绍 pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源。 为什么我们需要pyenv呢 Python解释器版本混乱, 2…

怎么关闭win10自动更新?我们可以这么做!

Win10自动更新可以使系统保持最新状态&#xff0c;但也可能导致一些问题&#xff0c;例如占用大量网络流量&#xff0c;导致系统速度减慢等。如果你希望关闭win10自动更新&#xff0c;不要电脑自动更新&#xff0c;我们可以跟着这篇文章这么做&#xff01; 操作环境&#xff1a…

测试行业干了5年,从只会点点点到了现在的测试开发,总算是证明了自己

测试不止是点点点 我感觉我是一个比较有发言权的人吧&#xff0c;我在测试行业摸爬滚打5年&#xff0c;以前经常听到开发对我说&#xff0c;天天的点点点有意思没&#xff1f; 和IT圈外的同学、朋友聊起自己的工作&#xff0c;往往一说自己是测试&#xff0c;无形中也会被大家…

Jmeter 连接 JDBC 报错Communications link failure解决办法(云服务器搭建了LNMP环境必看)

换jar包、加?useSSLfalse&#xff0c;3306加防火墙&#xff0c;都不能解决我的问题。最终我发现是我的LNMP环境导致 错误提示 Response message:java.sql.SQLException: Cannot create PoolableConnectionFactory (Communications link failureThe last packet sent successf…

【跨尺度学习:迭代残差:超分:泛锐化】

Pansharpening via Super-Resolution Iterative Residual Network With a Cross-Scale Learning Strategy &#xff08;基于跨尺度学习策略的超分辨率迭代残差网络泛锐化&#xff09; 全色锐化是利用高空间分辨率全色&#xff08;HR PAN&#xff09;图像恢复低空间分辨率多光…

Vue-Router 路由管理器

文章目录知识点前端路由的概念及作用Vue-Router 的安装Vue-Router 的基本使用知识点 前端路由的概念及作用Vue-Router 的安装Vue-Router 的基本使用 前端路由的概念及作用 需要大家注意的是&#xff0c;这里的路由可不是指我们日常生活中的路由器 &#x1f602; &#xff0c;…

Allegro如何打开或者关闭DFA规则设置操作指导

Allegro如何打开或者关闭DFA规则设置操作指导 在用Allegro做PCB布局的时候,器件与器件之间的DFA规则可以避免器件出现装配问题。如下图 当DFA规则设置好之后,如何打开或者关闭规则,具体操作如下 点击Setup点击Constraints

华为OD机试题,用 Java 解【相同数字的积木游戏 1】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

2023年“网络安全”赛项浙江省金华市选拔赛 任务书

2023年“网络安全”赛项浙江省金华市选拔赛 任务书 任务书 一、竞赛时间 共计3小时。 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段单兵模式系统渗透测试 任务一 Windows操作系统渗透测试 任务二 Linux操作系统渗透测试 任务三 网页渗透 任务四 Linux系统…

硬件工程师——门控开关的设计

假设自己是一个工程师&#xff0c;那么我们怎么介绍自己呢&#xff1f; 我们首先需要可以自己独立设计项目&#xff0c;需要每一个工程师在开始阶段可以独立做项目&#xff0c;从而提高薪水 那么我们怎么提高做项目的能力呢&#xff1f; 通过项目来积累经验&#xff0c;在短…

百亿数据,毫秒级返回查询优化

近年来公司业务迅猛发展&#xff0c;数据量爆炸式增长&#xff0c;随之而来的的是海量数据查询等带来的挑战&#xff0c;我们需要数据量在十亿&#xff0c;甚至百亿级别的规模时依然能以秒级甚至毫秒级的速度返回&#xff0c;这样的话显然离不开搜索引擎的帮助&#xff0c;在搜…