简单的数学笔记

news/2024/12/14 21:47:06/文章来源:https://www.cnblogs.com/-Acheron-/p/18607256

1.约数之和

令 $p_k\in\mathbb P$,$a^k\in\mathbb Z^+$。

则大于 1 的正整数 $n$ 可以表示为以下形式(质因数分解)。

$n=\prod \limits_{k=0}^mp_k^{a_k}$

此时 $n$ 的所有约数之和为:

$\prod \limits_{k=0}^m\frac{1-p_k^{a_k+1}}{1-p_k}$

求值最坏时间复杂度约为 $O(\log n)$。

2.曼哈顿距离与切比雪夫距离的互化:

在平面上有点 $A$,$B$,其曼哈顿距离为 $|A_i-B_i|+|A_j+B_j|$。切比雪夫距离为 $\max(|A_i-B_i|,|A_j+B_j|)$。

欲将曼哈顿距离于切比雪夫距离转换,可以考虑切比雪夫距离所在的平面旋转 45 度。

设原坐标为 $(x,y)$ 则旋转后坐标为 $(\frac{x}{\sqrt{2}}+\frac{y}{\sqrt{2}},-\frac{x}{\sqrt{2}}+\frac{y}{\sqrt{2}})$。
将坐标有理化得 $(x+y,-x+y)$。

此时原坐标系中的两点的切比雪夫距离等于现在的坐标系中的曼哈顿距离除以 2。

3.Millar Robin判断素数

由费马小定理我们得知:对任意素数 $p$ 和与其互质的整数 $a$,有 $a^{p-1}\equiv 1(\mod p)$。

我们可以考虑,随机选取一小于 $p$ 的整数 $a$,若 $a^{p-1}\equiv 1(\mod p)$,则可以证明
$p$ 是素数。

但这种想法显然是错的。

那我们又考虑,如果多随机选取几个
$a$ 的话能否提高正确率?

但仍旧存在极少的一些合数,即便遍历
$[2,p-1]$ 的每一个数字作为底数,也无法筛去。

不难证明,这样的数的个数有无穷多个。

故单纯的费马小定理显然不行,我们现在来考虑如何减小错误概率。

引理一:对于质数 $p$ 若 $x^2\equiv 1(\mod p)$,则小于 $p$ 的解只有两个 $x_1=1,x_2=p-1$。

这个定理有什么用呢?

由Fermat检测得到 $a^{p-1}\equiv 1(\mod p)$,且 $p-1$ 为偶数,则 $a^{p-1}$ 就相当于 $x^2$。

将其拆分为 $(a^{\frac{p-1}2})^2\equiv 1$,就可以用引理一来判断了。

如果 $p-1$ 为奇数,我们就将 $p-1$ 转化成 $k * 2^t$ 即可($k$ 为奇数)。

接下来考虑代码的实现。

首先是底数的选取:Miller Rabin检测依旧有错误的概率。但通过选取适合的底数,可以避免这一情况的发生。

在long long范围内,选取 $\{2,325,9375,28178,450775,9780504,1795265022\}$ 七个数作为底数可保证100%正确。

最坏时间复杂度约为 $O(\log^3n)$。

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

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

相关文章

解决2024.1以后新版本IDEA Lombok (@Data)等不生效的问题

做项目做着做着新模块用不了 lombok 真的要崩溃了,各种检查插件、配置,发现都无法恢复;乱试指定版本:终于可用了。。真的有崩溃感

DNS之公共DNS

阿里 AliDNS 阿里公共DNS是阿里巴巴集团推出的DNS递归解析系统,目标是成为国内互联网基础设施的组成部分,面向互联网用户提供“快速”、“稳定”、“智能”的免费DNS递归解析服务。 DNS 服务器 IP 地址: 首选:223.5.5.5 备选:223.6.6.6 阿里公共DNS114DNS 国内用户量巨大的…

NestJS 部署Apache

要将Nest.JS应用搭建在Apache服务器上,你需要了解Nest.JS是一个基于Node.js的框架,因此它本质上是一个后端服务,而Apache通常用作前端服务器或反向代理。以下是将Nest.JS应用与Apache服务器结合使用的步骤: 一、准备环境安装Node.js:确保在服务器上安装了Node.js。你可以从…

综合设计——多源异构数据采集与融合应用综合实践

这个项目属于哪个课程2024数据采集与融合技术实践 组名 从你的全世界爬过团队logo:项目简介 项目名称:博物识植项目logo:项目介绍:在探索自然奥秘的旅途中,我们常与动植物相伴而行,却无法准确识别它们,更难以深入了解他们的特征。为了更好地理解和欣赏自然界的多样性,…

maven docker-maven-plugin 发布docker 20241214

1、docker开启远程访问 端口 2375docker主机:192.168.177.128 vi /usr/lib/systemd/system/docker.service #修改ExecStart这行 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 #重新加载配置文件 [root@localhost ~]# systemctl daemon-reload #重启服务 [root@lo…

10大关键技术解构:智能合同审查系统全景解析

前言 随着企业数字化转型的深入,合同管理在业务流程中的重要性愈加凸显。传统的人工审查合同方式不仅耗时耗力,还容易出现疏漏,尤其在复杂法律条款和跨部门协作的场景中,这一问题尤为明显。为了解决这一痛点,思通数科智能合同审查系统应运而生。基于人工智能和大数据分析的…

2024-2025-1 20241403《计算机基础与程序设计》第十二周学习总结

2024-2025-1 20241403《计算机基础与程序设计》第十二周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 指针与一维…

我的新博客 MarisaMagics Blog

新博客地址 MarisaMagics Blog 最近用 github + hexo 配置了一个新的博客,以后可能基本上都在新博客平台上更新文章 DA⭐ZE ~一切都是命运石之门的选择,本文章来源于博客园,作者:MarisaMagic,出处:https://www.cnblogs.com/MarisaMagic/p/18607182,未经允许严禁转载

locust 压力测试工具windows平台从零开始安装使用

locust是一个用python写的接口压力测试应用,我们只需要编写简单的代码才能运行测试,前期安装需要一点python基础。 用以测试的接口需要一个一个通过代码添加,如下: 这就是一个测试的接口了,很简单,只需要接口的路径和参数,接口的主机地址会在web端输入: locust需要pyth…

OpenDaylight下发流表

实验一:单流表(v1.0) 下发流表实现h1和h2之间不能互通。 1、启动OpenDaylight ./karaf查看6633端口是否处于监听状态 netstat -an | grep 6633在物理机浏览器中访问虚拟机ip:8181/index.html登录OpenDaylight网页端。 账号密码都是admin。后面做实验的时候,出现过无法登录的…