X 进制减法问题

news2024/9/22 13:32:23

 

思路如下:

代码如下:

#include<iostream>
using namespace std;
const int N = 1e5 + 5;
const long long MOD = 1000000007;
//定义了常量 N 和 MOD。N 是数组的最大长度,MOD 是取模运算的模数。

int numsA[N], numsB[N];
//声明了两个数组 numsA 和 numsB,用于存储多项式的系数。

//读入输入数据。
int main() {

    int maxN, m, n;
//读入 maxN 和 m,表示 numsA 数组的长度和非零项的数量。
    cin >> maxN >> m;
    for (int i = m - 1; i >= 0; i--) cin >> numsA[i];

    cin >> n;
//倒序读入 numsA 数组的系数。再读入 n,表示 numsB 数组的长度,并倒序读入 numsB 数组的系数。
    for (int j = n - 1; j >= 0; j--) cin >> numsB[j];

//求解多项式差的过程。
    long long ret = 0, base = 1;
//设置变量 ret 和 base,初始值都为 0 和 1,用于累加差值和计算权重的乘积。
    int weight;
    for (int i = 0; i < max(m, n); i++) {
        weight = max(max(numsA[i], numsB[i]) + 1, 2);
//遍历 numsA 和 numsB 数组中的每一项。对于每一项,计算权重为当前项的系数加 1 和 2 中的较大值,
//并将其存储在 weight 变量中。
// 多项式相加取模是符合分配律的,见公式
// 这里会频繁出现越界的情况

//计算差值的部分。
        ret = (ret+(numsA[i] - numsB[i]) * base)%MOD;
//用 (numsA[i] - numsB[i]) * base 计算差值,并使用取模操作保持结果在合理范围内。然后,将差值累加到 ret 变量中。
        base = (base*weight)%MOD;
//计算下一个项的权重的乘积,并使用取模操作保持结果在合理范围内。将计算得到的值存储在 base 变量中。
    }
    cout << ret % MOD;
//输出 ret % MOD,即多项式差的结果。
    return 0;
}

         该代码使用了取模操作,可以处理结果在整型范围内溢出的情况。同时,采用了倒序输入和遍历数组的方式,可以避免数组下标越界的问题。

        加油各位!

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

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

相关文章

IDEA创建springboot工程

选择spring boot的版本和依赖 finish创建完成 删除无用的文件

Android 自动化测试——Monkey测试

Android自带了很多方便的测试工具和方法&#xff0c;包括我们常用的单元测试、Robotium测试、Monkey测试、MonkeyRunner测试、senevent模拟等。这些方法对于我们编写高质量的APP十分有用。也可以提前暴露我们程序的隐藏问题。今天给大家讲一下Monkey测试&#xff0c;Monkey测试…

页面菜单,通过get请求一个url后,跳转另外一个页面,+丢失问题

业务场景描述&#xff1a; 在A系统&#xff0c;菜单点击跳B系统这个操作。 A系统菜单是get请求到B系统的一个缓冲页面&#xff0c;然后这个缓冲页面获取到url中的accessToken后&#xff0c;在这个页面中通过post请求后端接口。 问题描述&#xff1a; 当accessToken中包含了…

Stable Diffusion Windows 部署简单认知

写在前面 偶然看到&#xff0c;简单了解博文为 SD 部署&#xff0c;以及简单使用&#xff0c;部署过程遇到问题解决理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。…

adam优化器和动量

原始的SGD 加上动量&#xff08;惯性&#xff0c;每一次更新根据前面所有结果&#xff0c;使结果更快收敛&#xff09; AdaGrad 与SGD的核心区别在于计算更新步长时&#xff0c;增加了分母&#xff1a;梯度平方累积和的平方根。此项能够累积各个参数 的历史梯度平方&#xf…

Vue 2.5 入门学习记录

Vue 2.5 入门学习记录 1. 基础知识Vue 是什么Vue引入方式Vue特点Vue实例中的数据事件方法Vue中的属性绑定和双向绑定Vue中的v-if、v-show、v-fortoDoList制作局部组件&全局组件 2. vue-cli工程3. 工程案例实践使用vue-cli实现todoList及删除某个元素全局样式与局部样式 4. …

2024年camtasia怎么导出mp4

Camtasia 2024是一款屏幕录制和视频剪辑软件&#xff0c;教授课程&#xff0c;培训他人&#xff0c;以更快的速度和更吸引人的方式进行沟通和屏幕分享。使您在Windows和Mac上进行录屏和剪辑创作专业外观的视频变得更为简单。 Camtasia Studio 2023 win-安装包&#xff1a;https…

智能优化算法应用:基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜜獾算法4.实验参数设定5.算法结果6.参考文献7.MA…

机器视觉工程师,我存多少钱可以躺平

钱钱钱&#xff01;还是钱&#xff01;除了钱还能聊点别的吗&#xff1f;钱可以让你生活的更好&#xff0c;也可以让你​在生活中的选择很无奈。 如果想要知道拥有多少存款才能躺平不上班&#xff0c;那么首先要明确躺平的定义。所谓的躺平&#xff0c;其实并不代表不能工作&a…

车载V2X方案的选型分享

ACX200T面向 5G车联网C-V2X 应用的安全芯片&#xff0c;满足V2X场景下消息认证的专用安全芯片&#xff0c;该款芯片采用公司自主的 高速硬件加密引擎 &#xff0c;支 持国家标准SM1、SM2、SM3、SM4密码算法&#xff0c;同时支持国际ECDSA、AES、SHA-1密码算法。可实现网联汽车云…

SWUST-跳绳比赛

由于这里只算前60s的&#xff0c;又有每秒跳一个&#xff0c;假设60秒抽象为数组&#xff0c;每个值为1。根据输入来更新数组&#xff0c;若停下则更新为0。最后对数组求和即可。 代码如下 #include<stdio.h> #include<stdlib.h> int main() {int n;scanf("…

Qt前端技术:2.QSS

border-style&#xff1a;后边是两个参数的话第一个参数改变上下的style 第二个参数改变左右的style 如果后边是三个参数的话第一个参数改变上边的style第二个参数改变左右的style&#xff0c;第三个参数改变的下边的style 如果后边是四个参数的话对应的顺序为上&#xff0c;右…

【蓝桥杯】专题练习

前缀和 3956. 截断数组 - AcWing题库 一看到题目很容易想到的思路是对数组求前缀和&#xff0c;然后枚举两个分段点就好&#xff0c;时间复杂度是On^2&#xff0c;n是1e5会t&#xff0c;需要优化。 朴素的代码&#xff0c;会超时&#xff1a; #include <bits/stdc.h> u…

Floating point exception

参考:https://blog.csdn.net/yyangzhenjie/article/details/87859506?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-87859506-blog-126091159.235%5Ev39%5Epc_relevant_3m_sort_dl_base2&depth_1-ut…

使用包、Crate 和模块管理项目(下)

1、使用 use 关键字将路径引入作用域 在之前的示例中我们引用模块中的函数或者结构体之类的&#xff0c;都是需要用到相对路径或者绝对路径去引用&#xff0c;然尔在这里&#xff0c;有一种方法可以简化这个过程。我们可以使用 use 关键字创建一个短路径&#xff0c;然后就可以…

Spring Boot3通过GraalVM生成exe执行文件

一、安装GraalVM 1、官网&#xff1a;https://www.graalvm.org/downloads/ 2、配置环境变量 2.1、环境变量必须使用JAVA_HOME&#xff0c;否则会出现问题 2.2、在系统变量配置Path,%JAVA_HOME%\bin&#xff0c;注意必须放在顶部第一位 2.3、配置jdk的环境变量&#xff0c;在P…

IDEA中如何创建各种类型的java工程

如果你的工程下面的module没有互相依赖&#xff0c;就相当于是一个小的项目&#xff0c;idea版本不同&#xff0c;细节可能不同 1、普通的Java 工程 在工程上&#xff0c;右键- New - Module&#xff0c;如下&#xff1a; 指明Java工程的名称及使用的JDK版本&#xff1a; 创建…

Redis设计与实现之数据库

目录 一、数据库 1、数据库的结构 2、 数据库的切换 3、 数据库键空间 4、键空间的操作 添加新键 删除键 更新键 取值 其他操作 5、 键的过期时间 6、过期时间的保存 7、设置生存时间 8、过期键的判定 9、 过期键的清除 定时删除 惰性删除 定期删除 10、过期…

基于SSM+Vue的新闻管理系统

基于SSMVue的新闻管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 新闻列表 管理员界面 用户界面 摘要 新闻管理系统基于SSM&#xff08;Spr…

java之HikariCP连接池介绍和使用方法 简单易懂!!!

文章目录 &#x1f60e;一、HikariCP连接池介绍&#x1f60e;二、导入的jar包&#x1f60e;三、代码演示&#x1f9e8;Properties配置文件&#x1f9e8;使用配置文件连接&#x1f9e8;运行结果 &#x1f60e;四、总结 ✨前言&#xff1a;本章主要学习hikaricp连接池的介绍以及使…