欧拉降幂问题

news2024/11/25 6:28:35

题目连接

        D-幂运算_2023河南萌新联赛第(四)场:河南大学 (nowcoder.com)

        djz的数学题 (nowcoder.com)

 

欧拉降幂

当 b 过大时,快速幂的时间复杂度超过题目要求时,考虑欧拉降幂。 

 

 §(c)是 欧拉函数 里求小于他的跟他互质的数的个数

伪代码

long long oula(long long b)
{
	long long ans=b;
	for(int i=2;i*i<=b;i++)
	{
		if(b%i==0)
		{
			ans=ans/i*(i-1);
			while(b%i==0) b/=i;
		}
	}
	
	if(b>1) ans=ans/b*(b-1);
	return ans;
}

求出后套板子即可。

看不懂板子看下面代码该如何操作就行拉

题-F-数学题

 这题通过手磨,拆两次括号可以得到,

原式=1+x^1+x^2+x^3+x^4……x^(2*2^n-1).

也就是求首相为1,公比为x的前2^(n+1)项和。

这个题目的余数为 998244353 是个质数,可以求出他的 oula 值为 998244352

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int M=998244353;
ll ksm(ll a,ll x,ll mod)
{
	ll cnt=1;
	while(x)
	{
		if(x%2)	cnt=cnt*a%mod;
		a=a*a%mod;
		x/=2;
	}
	return cnt;
}

int main()
{
	ll n,x;
	cin>>n>>x;
	x%=M;
	if(x==1)	cout<<ksm(2,n+1,M);
	else
	{
		ll q=ksm(2,n+1,M-1);
		q=(ksm(x,q,M)-1+M)%M;
		ll p=ksm(x-1,M-2,M);
		cout<<(p*q%M+M)%M;
	}
	return 0;
}

题-D-幂运算

 题目的mod需要输入,我们先求出其oula值,在套公式

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,p;
long long oula(long long b)
{
	long long int ans=b;
	for(int i=2;i*i<=b;i++)
	{
		if(b%i==0)
		{
			ans=ans/i*(i-1);
			while(b%i==0) b/=i;
		}
	}
	
	if(b>1) ans=ans/b*(b-1);
	return ans;
}
ll ksm(ll a,ll x,ll mod)
{
	ll cnt=1;
	while(x)
	{
		if(x%2)	cnt=cnt*a%mod;
		a=a*a%mod;
		x/=2;
	}
	return cnt;
}

int main()
{
    cin>>n>>p;
    ll pp=oula(p);
    n=ksm(2,n,pp);
    cout<<ksm(2,n,p);
	return 0;
}

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

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

相关文章

C 语言的文件,流, 键盘输入, 重定向

文章目录 The End of File重定向 redirection输入重定向输出重定向组合重定向 A file is an area of memory in which information is stored. Normally, a file is kept in some sort of permanent memory, such as a hard disk, USB flash drive, or optical disc, such as a…

基于关系有向图的知识推理2022ACM 8.9+8.10

基于关系有向图的知识推理 摘要介绍相关工作基于路径的方法基于GNN的方法 关系有向图RED-GCNr-digraph递归编码学习用于查询的基本信息 实验 摘要 知识图推理旨在从已有的知识中推断出新的事实。基于关系路径的方法在文献中显示出较强的可解释性和归纳推理能力。然而&#xff…

如何进行游戏平台搭建?

游戏平台搭建涉及多个步骤和技术&#xff0c;下面是一个大致的指南&#xff1a; 市场调研和定位&#xff1a;首先&#xff0c;要了解游戏市场和受众的需求&#xff0c;选择适合的游戏类型和定位。 选择平台类型&#xff1a;决定是要搭建网页平台、移动应用平台还是其他类型的…

Vue3 —— to 全家桶及源码学习

该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>&#xff0c;且包含 typescript 的基础用法 前言 本篇主要学习几个 api 及相关源码&#xff1a; toReftoRefstoRaw 一、toRef toRef(reactiveObj, key) 接收两个参数&#xff0c;第一个是 响应式对象…

专治疗懒病:GO、KEGG富集分析一体函数

之前我们写过GO、KEGG的富集分析&#xff0c;参见&#xff1a;补充更新&#xff1a;GO、KEGG&#xff08;批量分组&#xff09;分析及可视化。演示了差异基因KEGG或者GO的分析流程。其实差异基因的富集分析输入的文件只需要一组基因就可以了。所以我们发挥了专治懒病的优良传统…

【MySQL】创建高级联结

目录 一、使用表别名 二、使用不同类型的联结 1.自联结 2.自然联结 3.外部联结 3.使用带聚集函数的联结 4.使用联结和联结条件 一、使用表别名 别名除了用于列名和计算字段外&#xff0c;SQL还允许给表名起别名。 起别名有两个好处&#xff1a; 一个是缩短SQL语句&am…

群晖6.X便捷的安装cpolar内网穿透

群晖6.X便捷的安装cpolar内网穿透 文章目录 群晖6.X便捷的安装cpolar内网穿透前言1. 下载cpolar的群晖套件1.1 打开群晖套件中心1.2 选择“手动安装”1.3 选择下载cpolar套件位置 2. 打开cpolar的Web-UI界面3. 注册会员 前言 随着硬件设备和软件技术的发展&#xff0c;以及数据…

ElasticsSearch基础概念和安装

ElasticSearch基础概念以及可视化界面安装 文章目录 ElasticSearch基础概念以及可视化界面安装1、引言2、基本概念3、倒排索引机制3.1、倒排索引 4、使用docker安装ElasticSearch4.1、下载镜像文件4.2 、创建实例,启动es 5.安装Kibana 1、引言 Elastic 的底层是开源库 Lucene。…

朋友圈点赞截图生成,制作朋友圈网页​

支持纯文字内容&#xff0c;图文内容&#xff0c;单图&#xff0c;多图。自定义点赞数量、自定义评论&#xff0c;随机头像和自定义头像。 这个工具基本支持我们所需要的所有功能。可以说是目前最全的朋友圈页面生成器。 朋友圈页面样式是Iphone pro 14上的效果&#xff0c;几…

OneFlow 中的 Softmax

Softmax 是深度学习模型中的常见算子。PyTorch 的 Softmax 算子直接调用 cuDNN 的接口。而 OneFlow 内部针对输入数据的类别数量&#xff0c;采用3个 kernel 来分别处理&#xff0c;在多数情况下都可以获得比 cuDNN 更优的性能表现。下面对其实现进行介绍。OneFlow 的静态分层结…

Leetcode24 两两交换链表相邻的节点

迭代解法&#xff1a; class Solution {public ListNode swapPairs(ListNode head) {ListNode dummyHead new ListNode(0);dummyHead.next head;ListNode temp dummyHead;while (temp.next ! null && temp.next.next ! null) {ListNode node1 temp.next;ListNode n…

谷粒商城第十一天-品牌管理中关联分类

目录 一、总述 二、前端部分 1. 调整查询调用 2. 关联分类 三、后端部分 四、总结 一、总述 之前是在商品的分类管理中直接使用的若依的逆向代码 有下面的几个问题&#xff1a; 1. 表格上面的参数填写之后&#xff0c;都是按照完全匹配进行搜索&#xff0c;没有模糊匹配…

化工行业案例 | 甄知科技助力万华化学重构IT服务价值,打造信息中心ERP!

随着科技的发展&#xff0c;新材料的应用领域与日俱增&#xff0c;近年来&#xff0c;全球化工新材料产业发展整体步入高技术引领、产品迭代速度快、产业规模和需求不断扩大的阶段。一体化协同与数字化转型策略是实现化工新材料生产原料自给、节能降耗、降低排放和物料成本的重…

验证码识别全流程实战

验证码的历史与发展 验证码&#xff0c;全称为 “Completely Automated Public Turing test to tell Computers and Humans Apart”&#xff0c;即全自动区分计算机和人类的图灵测试&#xff0c;Captcha。早在上个世纪 90 年代&#xff0c;为了防止恶意的网络机器人行为&#x…

matplotlib 笔记:hist2d 2D直方图

创建二维直方图&#xff0c;用于显示数据分布的图表将数据划分成不同的区间&#xff08;bin&#xff09;&#xff0c;并统计每个区间内数据点的数量 1 基本画法 默认bin的数量是10*10 N 1000 x np.random.randn(N) y np.random.randn(N) plt.hist2d(x, y) 2 修改bin的…

英特尔处理器被曝出“Downfall”漏洞:可窃取加密密钥

今日&#xff0c;谷歌的一位高级研究科学家利用一个漏洞设计了一种新的CPU攻击方法&#xff0c;该漏洞可影响多个英特尔微处理器系列&#xff0c;并允许窃取密码、加密密钥以及共享同一台计算机的用户的电子邮件、消息或银行信息等私人数据。 该漏洞被追踪为CVE-2022-40982&am…

nginx配置gzip

在 Nginx 中启用 Gzip 压缩可以大幅减少传输内容的大小&#xff0c;从而加快网页加载速度。 打开 Nginx 的配置文件&#xff0c;通常是 /etc/nginx/nginx.conf 或者 /etc/nginx/conf.d/default.conf。找到 http 配置块&#xff0c;在其中添加以下代码来开启 Gzip 压缩&#xff…

pikachu中RCE出现乱码的解决的方案

exec “ping” 输入127.0.0.1 这种乱码的解决办法就是在pikachu/vul/rce/rce_ping.php目录里面的第18行代码 header("Content-type:text/html; charsetgbk");的注释打开即可。 BUT但是吧&#xff01;又出现了其他的乱码&#xff01;但是搞完这个再把它给注释掉就行了…

pyscenic分析:视频教程

我们之前更新过pyscenic的教程&#xff1a;pySCENIC单细胞转录因子分析更新&#xff1a;数据库、软件更新。我们也说过&#xff0c;我们号是放弃R语言版的SCENIC的分析了&#xff0c;因为它比较耗费计算资源和时间&#xff0c;所以我们的单细胞转录因子分析教程都是基于pysceni…

轻松预约,尽享美食,详解餐厅预约小程序的设计与实现

随着智能手机的普及和人们生活水平的提高&#xff0c;餐厅预约已经成为人们日常生活中的一部分。为了更好地满足人们的需求&#xff0c;许多餐厅开始使用小程序来提供更方便快捷的预约服务。本文将介绍如何制作一款餐厅预约小程序的详细步骤。 1. 进入乔拓云网后台&#xff0c;…