2023河南萌新联赛第(三)场:郑州大学 F

news2024/11/15 11:02:56

把题中所给的式子进行展开,最终可以得到一个等比数列。运用等比数列求和公式即可。

相关知识点:欧拉降幂,逆元。

逆元的用处:因为求和公式需要去除分子,而大数除法去取模会丢失精度,所以可以采用求出分子在mod意义下的逆元,然后进行乘法运算即可。

欧拉降幂:因为文明需要求出等比数列的项数,而项数为2的1e18级别,对此我们在快速幂过程中必然会进行取模操作,而对于这种指数比较大的数,a^{b}%c!=a^{b\% c}%c。所以需要进行欧拉降幂。 而我们一个质数p的欧拉函数值即为 p-1.

#include<bits/stdc++.h>

using namespace std;
const int N=1e6+5;
typedef long long ll;
typedef pair<ll,ll> pll;
typedef array<int,3> p3;
ll mod=998244353;
const int maxv=4e6+5;

ll qmi(ll a,ll  b)
{
    ll res=1;
    while(b){
        if(b & 1) res=res*a%mod;
        b>>=1;
        a=(a%mod)*(a%mod) % mod;
    }
    return res%mod;
}

ll inv(ll x)
{
    return qmi(x,mod-2);
}



void solve()
{	

    ll n,x;
    cin>>n>>x;
    if(n==0){
        cout<<(1+x)%mod<<endl;
        return ;
    }
    if(x%mod==1) {
        ll ans=qmi(2,n+1);
        cout<<ans<<endl;
        return  ;
    }
    mod--;
    ll res=qmi(2,n+1);
    //cout<<res<<endl;
    //cout<<qmi(x,res)<<endl;
    mod++;
    ll f=(qmi(x,res)-1+mod)%mod;
    ll z=inv(x-1);
    //cout<<z<<endl;
    cout<<f*z%mod<<endl;




}

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	t=1;
	//cin>>t;
	while(t--){
		//if(n==0) break;
		solve();
	}
	//system("pause");
	return 0;
}

 

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

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

相关文章

深度学习入门教程(1):用神经网络预测糖尿病病例Predict Diabetes Cases with Neural Networks

本深度学习入门教程是在polyu HPCStudio 启发以及资源支持下进行的&#xff0c;在此也感谢polyu以及提供支持的老师。 大纲&#xff08;what will you learn from this project&#xff09; 1&#xff1a;What are neural networks&#xff1f; 2&#xff1a;Why use neural …

Ubuntu /dev/loop<0..n>挂载的目录的分析

执行命令df -h lkmaoubuntu:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 1.6G 0 1.6G 0% /dev tmpfs 391M 2.1M 389M 1% /run /dev/sda1 59G 30G 26G 54% / tmpfs 2.0G 0 2.0G 0% /dev/s…

华硕PN62:BIOS来电重启 和win10关闭升级Windows11提示方法

1&#xff0c;开机长按del键进bios设置界面&#xff0c;点高级—电源管理或APM Restore AC Power Loss有两个都选power on。如果不成功&#xff0c;检查主板上纽扣电池是否有电。 restore on ac power loss意思是“交流失电恢复”&#xff0c;这是BIOS里的电源管理选项&#xf…

【Python机器学习】实验04(1) 多分类(基于逻辑回归)实践

文章目录 多分类以及机器学习实践如何对多个类别进行分类1.1 数据的预处理1.2 训练数据的准备1.3 定义假设函数&#xff0c;代价函数&#xff0c;梯度下降算法&#xff08;从实验3复制过来&#xff09;1.4 调用梯度下降算法来学习三个分类模型的参数1.5 利用模型进行预测1.6 评…

volatile关键字(轻量级锁)

目录 一、volatile出现背景 二、JMM概述 2.1、JMM的规定 三、volatile的特性 3.1、可见性 3.1.1、举例说明 3.1.2、总结 3.2、无法保证原子性 3.2.1、举例说明 3.2.2、分析 3.2.3、使用volatile对原子性测试 3.2.4、使用锁机制 3.2.5、总结 3.3、禁止指令重排序 四、v…

【KO】vite使用 git bash here创建vue3项目时方向键失败!

文章目录 起因过程结果 起因 今天使用vite创建ue3项目&#xff0c;因为git使用习惯了就直接用git运行创建命令&#xff0c;前两步都没啥问题&#xff0c;到选择框架的时候问题来了&#xff0c;方向键无效。如图&#xff1a; 过程 常理来说是直接用方向键↑和↓进行选择&…

day15-239. 滑动窗口最大值

239. 滑动窗口最大值 力扣题目链接(opens new window) 给定一个数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶&#xff1a; 你能…

docker部署zabbix 6.0高可用集群实验

0 实验环境 虚拟机&#xff0c;postgresql本地部署&#xff0c;zabbix server及nginx容器部署 1 postgresql 参看前作 《postgresql timescaledb离线安装笔记》完成部署&#xff0c;对外端口tcp 5432&#xff0c;账号zabbix&#xff0c;密码123 2 zabbix server 2.1 拉取…

在vue页面中,直接展示代码及样式高亮(vue 中使用 highlight)

参考链接&#xff1a;https://blog.csdn.net/u011364720/article/details/90417302 前言&#xff1a;效果如下 想要在前端页面中&#xff0c;直接展示代码的样式&#xff0c;就像一些开发文档的源码展示一样使用插件 highlight.js 1、安装 npm install highlight.js2、main.j…

css中flex后文本溢出的问题

原因&#xff1a; 为了给flex item提供一个合理的默认最小尺寸&#xff0c;flex将flex item的min-width 和 min-height属性设置为了auto flex item的默认设置为&#xff1a; min-width&#xff1a; auto 水平flex布局 min-height&#xff1a;auto 垂直flex布局 解决办法&…

vue - 实现列表点击选择及多选 / 全选功能,类似购物车商品列表单选和全选效果功能,vue实现单选和多选功能详细示例教程(详细示例源码,一键复制开箱即用)

效果图 在vue项目中,实现了列表单选 / 全选功能,像商品购物车一样的功能效果详细教程,一键复制运行。 示例源码 直接复制运行就行,把数据换成后端返回的就可以了。 <tem

Nacos环境搭建

Nacos环境搭建 官方文档/下载地址 https://nacos.io/zh-cn/docs/quick-start.html 目录结构 导入nacos-mysql 在MySQL创建数据库&#xff1a;nacos_config导入conf目录下的nacos-mysql.sql文件 新建用户 在nacos_config/user中新增数据即可&#xff0c;但是密码是要BCryp…

汇编语言(第4版)实验7 寻址方式在结构化数据访问中的应用

参考答案&#xff1a; ①经分析&#xff0c;完整程序代码如下。 assume cs:codesg data segmentdb 1975,1976,1977,1978,1979,1980,1981,1982,1983db 1984,1985,1986,1987,1988,1989,1990,1991,1992db 1993,1994,1995dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140…

【C++】开源:Muduo网络库配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Muduo网络库配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下…

【力扣每日一题】2023.7.27 删除每行中的最大值

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码运行结果&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个矩阵&#xff0c;每次都把每行中的最大元素拿出来删掉&#xff0c;再把每次删除的元素里最大的元素拿出来加到结果里&…

C语言第九课------------------数组----------------C中之将

作者前言 作者介绍&#xff1a; 作者id&#xff1a;老秦包你会&#xff0c; 简单介绍&#xff1a; 喜欢学习C语言和python等编程语言&#xff0c;是一位爱分享的博主&#xff0c;有兴趣的小可爱可以来互讨 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱…

DaVinci工具链之DaVinci Configurator工程创建

目录 1、用DaVinci Configurator新建项目工程​编辑 2、用DaVinci Developer打开GL_Demo项目工程​编辑 3、在DaVinci Developer中新建一个调光控制模块 3.1.创建SWC Types 3.1.1.创建调光控制模块Composition SWC Type 3.1.2.创建调光分析计算Application SWC Type 3.1…

生信专题十余种案例

集成多组学数据的机器学习在生物医学中的应用 原文链接 案例部分图示&#xff1a; 案例图示一&#xff1a;基于自编码器的单细胞转录组-蛋白组学整合分析 案例图示二&#xff1a;基于蛋白组学-代谢组学的肿瘤生物标志物发现 案例图示三&#xff1a;基于GWAS-表型组学的肺癌风…

idea terminal npm指令无效

文章目录 一、修改setting二、修改启动方式 一、修改setting 菜单栏&#xff1a;File->Settings 二、修改启动方式 快捷方式->右键属性->兼容性->勾选管理员身份运行

ChatGLM-6B 部署与 P-Tuning 微调实战-使用Pycharm实战

国产大模型ChatGLM-6B微调部署入门-使用Pycharm实战 1.ChatGLM模型介绍 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本…