备战蓝桥杯---数学基础2

学了常见的筛法,让我们看个题:

首先,我们知道欧拉筛复杂度为nlognlogn,这题可以承受,但是空间上存不了,而如果我们枚举1--n^1/2,复杂度不允许。

其实在枚举的方法中,我们只需找出有无在【2,n^1/2]的素数即可。

这样,我们就可以用类似打表的形式记入素数。n^1/2差不多3万,有前面的定理可知质数数量差不多几十个,这样子就可以了。

下面介绍算数基本定理:

任何一个N=p1^c1*p2^c2*p3^c3*...(唯一)

推论:N的正约数合集为p1^b1*p2^b2*p3^b3(0<=bi<=ci)

N的正约数的个数为   \coprod_{i=1}^{m}(ci+1)

N的正约数的和为\coprod_{i=1}^{m}(1+p1+p1^2+...+p1^c1)

下面是最大公约数与最小公倍数

下面我们介绍欧拉函数:

我们来看看他们的应用吧:

显然,他可以看到横坐标与纵坐标互质的人,我们以y=x分两半,因此,问题等价于求1---n的欧拉函数(注意(1,0),(0,1))

下面因为积性函数,我们可以用筛法求:

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
int n,v[40011],pi[40011],cnt,prime[40011];
long long ans;
int main(){cin>>n;n--;for(int i=2;i<=n;i++){if(v[i]==0){v[i]=i;pi[i]=i-1;prime[++cnt]=i;}for(int j=1;j<=cnt;j++){if(v[i]<prime[j]) break;if(prime[j]*i>n) break;if(prime[j]==v[i]) pi[prime[j]*i]=pi[i]*v[i];else pi[prime[j]*i]=pi[i]*pi[prime[j]];v[prime[j]*i]=prime[j];}ans+=pi[i];}cout<<2*ans+3;
}

注意,当prime[j]<v[i]时,这两个互质,可以用积性函数的性质。

当相等时,我们需要用到定义:

i*v[i]他的质因数的种类没变,只要N变成N*v[i]即可。

接题:

对全部数快速幂会超,我们发现a^n*d^n=(a*d)^n,于是我们配合筛法即可。

下面为AC代码(注意,因为空间的要求,我们把int换成bool ):

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 13e6 + 10;
const int mod = 1e9 + 7;
int n,prime[10000],ans,cnt,pi[maxn];
bool v[maxn];
long long quickmi(long long x,long long b){long long i=1;while(b){if(b&1) i=(x*i)%mod;b>>=1;x=(x*x)%mod;}return i;
}
signed main(){scanf("%d",&n);ans=1;for(int i=2;i<=n;i++){if(v[i]==0){pi[i]=quickmi(i,n);prime[++cnt]=i;}for(int j=1;j<=cnt;j++){if(i%prime[j]==0) break;if(prime[j]*i>n) break;v[prime[j]*i]=1;pi[prime[j]*i]=(pi[prime[j]]*pi[i])%mod;}ans^=pi[i];}printf("%lld",ans);
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数学建模】【2024年】【第40届】【MCM/ICM】【C题 网球运动中的“动量”】【解题思路】

一、题目 &#xff08;一&#xff09; 赛题原文 2024 MCM Problem C: Momentum in Tennis In the 2023 Wimbledon Gentlemen’s final, 20-year-old Spanish rising star Carlos Alcaraz defeated 36-year-old Novak Djokovic. The loss was Djokovic’s first at Wimbledon…

LeetCode 144 二叉树的前序遍历

大家新年快乐&#xff0c;long年大吉 今天的题很简单&#xff0c;前序用栈就行。 电脑没拿&#xff0c;用我妈的pad艰难敲代码&#xff0c;敲字 知识点随便写点吧&#xff0c;这里基础点挺多&#xff0c;以后补充下 栈&#xff1a;先进后出&#xff0c;数据结构用stack&…

ElasticSearch快速开始

目录 全文检索 全文检索的原理 什么是倒排索引 ElasticSearch介绍 ElasticSearch应用场景 ElasticSearch下载安装&#xff08;windows&#xff09; 客户端Kibana安装 Elasticsearch安装分词插件 ElasticSearch快速开始 ElasticSearch索引操作 创建索引 查询索引 删…

电商小程序07显示用户个人信息

目录 1 全局变量2 控制登录按钮显示3 设置布局4 搭建我的页面5 修改个人信息总结 在登录章节我们已经实现了用户名和密码登录首页的功能&#xff0c;在登录之后&#xff0c;可以切换到我的页面&#xff0c;显示用户的头像和名称&#xff0c;可以修改个人信息。本篇我们介绍一下…

Vulnhub靶机:hacksudo-search

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;hacksudo-search&#xff08;10.0.2.50&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.co…

Hive正则表达式

Hive版本&#xff1a;hive-3.1.2 一、Hive的正则表达式概述 正则表达式是一种用于匹配和操作文本的强大工具&#xff0c;它是由一系列字符和特殊字符组成的模式&#xff0c;用于描述要匹配的文本模式。 Hive的正则表达式灵活使用解决HQL开发过程中的很多问题&#xff0c;本篇文…

【项目技术点总结之三】使用Java生成复杂好看的word或pdf报告的解决方案

前言 项目中往往会遇到需要生成报告的场景&#xff0c;不管是简单报告还是复杂报告&#xff0c;其实都需要找很多资料去尝试&#xff0c;本文会提出几种个人完美解决报告生成的解决方案&#xff0c;而且会提出几个失败但是能生成报告的设想&#xff0c;当然都是踩过坑的&#…

精灵图,字体图标,CSS3三角

精灵图 1.1为什么需要精灵图 一个网页中往往会应用很多小的背景图像作为修饰&#xff0c;当网页中的图像过多时&#xff0c;服务器就会频繁的接受和发送请求图片&#xff0c;造成服务器请求压力过大&#xff0c;这将大大降低页面的加载速度。 因此&#xff0c;为了有效地减少…

Linux操作系统基础(五):Linux的目录结构

文章目录 Linux的目录结构 一、Linux目录与Windows目录区别 二、常见目录介绍&#xff08;记住重点&#xff09; Linux的目录结构 一、Linux目录与Windows目录区别 Linux的目录结构是一个树型结构 Windows 系统 可以拥有多个盘符, 如 C盘、D盘、E盘 Linux 没有盘符 这个概…

python爬虫入门(一)

使用requests 库获取网站html信息 import requests response requests.get("https://jingyan.baidu.com/article/17bd8e52c76b2bc5ab2bb8a2.html#:~:text1.%E6%89%93%E5%BC%80%E6%B5%8F%E8%A7%88%E5%99%A8F12%202.%E6%89%BE%E5%88%B0headers%E9%87%8C%E9%9D%A2%E7%9A%84…

浏览器F12调试

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目…

计算机二级C语言备考学习记录

一、C语言程序的结构 1.程序的构成&#xff0c;main函数和其他函数。 程序是由main函数和其他函数构成main作为主函数&#xff0c;一个C程序里只有一个main函数其他函数可以分为系统函数和用户函数&#xff0c;系统函数为编译系统提供&#xff0c;用户函数由用户自行编写 2.…