前缀和多种基础

前缀和加法

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int n;
const int N = 1e3+10;
int arr[N];
int pre[N];
int org[N];
int main(void)
{cin >> n;for(int i = 1 ; i <= n ; i++){cin >> arr[i];pre[i] = pre[i-1] + arr[i];}cout << "输出前缀和数组:"<<endl;for(int i = 0 ; i <= n ; i++)cout << pre[i] << " ";cout << endl; //输出下标1~2的区间和int l = 1,r = 2;cout << "输出下标1~2的区间和:" << pre[r]-pre[l-1]; cout << endl;//根据前缀和复原初始数组for(int i = 1 ; i <= n ; i++)org[i] = pre[i] - pre[i-1];cout << "输出原始数组:";for(int i = 1 ; i <= n ; i++)cout << org[i] << " ";	return 0;
}
/*
11
8 5 3 2 1 5 6 9 4 3 2
*/

前缀积

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int n;
const int N = 1e3+10;
int arr[N];
int pre[N];
int ori[N]; 
const int mod = 2;
int main(void)
{cin >> n;pre[0] = 1;//初始化为1 for(int i = 1 ; i <= n ; i++){cin >> arr[i];pre[i] = (pre[i-1] * arr[i]);//pre[i] = (pre[i-1] * arr[i])%mod}cout << "输出前缀积数组:"<<endl;for(int i = 0 ; i <= n ; i++)cout << pre[i] << " ";cout << endl; //输出下标1~2的区间和int l = 1,r = 2;cout << "输出下标1~2的区间积:" << pre[r]/pre[l-1]; //没有取模的情况可以直接使用 cout << endl; for(int i = 1 ; i <= n ; i++)ori[i] = pre[i]/pre[i-1];cout << "输出原始数组:";for(int i = 1 ; i <= n ; i++)cout << ori[i] << " ";return 0;
}
/*
11
8 5 3 2 1 5 6 9 4 3 2
*/

前缀异或

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int n;
const int N = 1e3+10;
int arr[N];
int pre[N];
int ori[N];
int main(void)
{cin >> n;pre[0] = 0;//0为异或的恒等元 for(int i = 1 ; i <= n ; i++){cin >> arr[i];pre[i] = (pre[i-1] ^ arr[i]);}cout << "输出前缀异或数组:"<<endl;for(int i = 0 ; i <= n ; i++)cout << pre[i] << " ";cout << endl; //输出下标1~2的区间和int l = 1,r = 2;cout << "输出下标1~2的区间异或:" << (pre[r]^pre[l-1]);cout << endl; for(int i = 1 ; i <= n ; i++)ori[i] = pre[i]^pre[i-1];cout << "输出前缀异或数组:";for(int i = 1 ; i <= n ; i++)cout << ori[i] << " "; return 0;
}
/*
11
8 5 3 2 1 5 6 9 4 3 2
*/

后缀和:

一个数组包含了非负整数,要求从某个点开始,直到末尾和直到0的和。

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int n;
const int N = 1e3+10;
int arr[N];
int suffix[N];
int org[N];
int main(void)
{cin >> n;for(int i = 1 ; i <= n ; i++)cin >> arr[i];for(int i = n ; i >= 1 ; i--){if(arr[i]){suffix[i] = suffix[i+1];//先加上后一个后缀和 suffix[i] += arr[i]; //加入arr[i]的元素 }}for(int i = 1 ; i <= n ; i++)cout << suffix[i] << " ";return 0;
}
/*
8
1 2 0 3 4 1 0 5
正确答案
3 2 0 8 5 1 0 5 
*/

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

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

相关文章

Elasticsearch基本使用详解

文章目录 Elasticsearch基本使用详解一、引言二、环境搭建1、安装 Elasticsearch2、安装 Kibana&#xff08;可选&#xff09; 三、索引操作1、创建索引2、查看索引3、删除索引 四、数据操作1、插入数据2、查询数据&#xff08;1&#xff09;简单查询&#xff08;2&#xff09;…

Intel 与 Yocto 项目的深度融合:全面解析与平台对比

在嵌入式 Linux 领域&#xff0c;Yocto 项目已成为构建定制化 Linux 发行版的事实标准&#xff0c;广泛应用于不同架构的 SoC 平台。Intel 作为 x86 架构的领导者&#xff0c;在 Yocto 生态中投入了大量资源&#xff0c;为其嵌入式处理器、FPGA 和 AI 加速硬件提供了完整的支持…

java命令详解

这里以jdk8为例子&#xff0c;查看默认的垃圾回收器 java -XX:PrintCommandLineFlags -version-XX:UseParallelGC : Parallel Scavenge 和 Parallel Old 组合 -XX:InitialHeapSize268435456 : 初始化堆大小&#xff08;字节&#xff09; -XX:MaxHeapSize4294967296 : 最大堆大…

51单片机看门狗系统

在 STC89C52 单片机中&#xff0c;看门狗控制寄存器的固定地址为 0xE1。此地址由芯片厂商在硬件设计时确定&#xff0c;但是它在头文件中并未给出&#xff0c;因此在使用看门狗系统时需要声明下这个特殊功能寄存器 sfr WDT_CONTR 0xE1; 本案将用一个小灯的工作状况来展示看门…

中间件的概念及基本使用

什么是中间件 中间件是ASP.NET Core的核心组件&#xff0c;MVC框架、响应缓存、身份验证、CORS、Swagger等都是内置中间件。 广义上来讲&#xff1a;Tomcat、WebLogic、Redis、IIS&#xff1b;狭义上来讲&#xff0c;ASP.NET Core中的中间件指ASP.NET Core中的一个组件。中间件…

Unity实现按键设置功能代码

一、前言 最近在学习unity2D&#xff0c;想做一个横版过关游戏&#xff0c;需要按键设置功能&#xff0c;让用户可以自定义方向键与攻击键等。 自己写了一个&#xff0c;总结如下。 二、界面效果图 这个是一个csv文件&#xff0c;准备第一列是中文按键说明&#xff0c;第二列…

独立开发浏览器插件:案例与启示

浏览器插件&#xff08;Browser Extension&#xff09;作为提升用户浏览体验的重要工具&#xff0c;近年来吸引了许多独立开发者的关注。从广告拦截到生产力工具&#xff0c;再到个性化定制功能&#xff0c;浏览器插件的开发为个人开发者提供了一个低成本、高潜力的创业机会。本…

Deep Sleep 96小时:一场没有硝烟的科技保卫战

2025年1月28日凌晨3点&#xff0c;当大多数人还沉浸在梦乡时&#xff0c;一场没有硝烟的战争悄然打响。代号“Deep Sleep”的服务器突遭海量数据洪流冲击&#xff0c;警报声响彻机房&#xff0c;一场针对中国关键信息基础设施的网络攻击来势汹汹&#xff01; 面对美国发起的这场…

基于STM32景区环境监测系统的设计与实现(论文+源码)

1系统方案设计 根据系统功能的设计要求&#xff0c;展开基于STM32景区环境监测系统设计。如图2.1所示为系统总体设计框图。系统以STM32单片机作为系统主控模块&#xff0c;通过DHT11传感器、MQ传感器、声音传感器实时监测景区环境中的温湿度、空气质量以及噪音数据。系统监测环…

Docker 部署教程jenkins

Docker 部署 jenkins 教程 Jenkins 官方网站 Jenkins 是一个开源的自动化服务器&#xff0c;主要用于持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;过程。它帮助开发人员自动化构建、测试和部署应用程序&#xff0c;显著提高软件开发的效率和质量…

八、Spring Boot 日志详解

目录 一、日志的用途 二、日志使用 2.1 打印日志 2.1.1 在程序中获取日志对象 2.1.2 使用日志对象打印日志 2.2、日志框架介绍 2.2.1 门面模式(外观模式) 2.2.2 门面模式的实现 2.2.3 SLF4J 框架介绍 2.3 日志格式的说明 2.4 日志级别 2.4.1 日志级别的分类 2.4.2…

25寒假算法刷题 | Day1 | LeetCode 240. 搜索二维矩阵 II,148. 排序链表

目录 240. 搜索二维矩阵 II题目描述题解 148. 排序链表题目描述题解 240. 搜索二维矩阵 II 点此跳转题目链接 题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到…

014-STM32单片机实现矩阵薄膜键盘设计

1.功能说明 本设计主要是利用STM32驱动矩阵薄膜键盘&#xff0c;当按下按键后OLED显示屏上会对应显示当前的按键键值&#xff0c;可以将此设计扩展做成电子秤、超市收银机、计算器等需要多个按键操作的单片机应用。 2.硬件接线 模块管脚STM32单片机管脚矩阵键盘行1PA0矩阵键盘…

将ollama迁移到其他盘(eg:F盘)

文章目录 1.迁移ollama的安装目录2.修改环境变量3.验证 背景&#xff1a;在windows操作系统中进行操作 相关阅读 &#xff1a;本地部署deepseek模型步骤 1.迁移ollama的安装目录 因为ollama默认安装在C盘&#xff0c;所以只能安装好之后再进行手动迁移位置。 # 1.迁移Ollama可…

CMake的QML项目中使用资源文件

Qt6.5的QML项目中&#xff0c;我发现QML引用资源文件并不像QtWidgets项目那样直接。 在QtWidgets的项目中&#xff0c;我们一般是创建.qrc​资源文件&#xff0c;然后创建前缀/new/prefix​&#xff0c;再往该前缀中添加一个图片文件&#xff0c;比如&#xff1a;test.png​。…

SAP HCM 回溯分析

最近总有人问回溯问题&#xff0c;今天把12年总结的笔记在这共享下&#xff1a; 12年开这个图的时候总是不明白是什么原理&#xff0c;教程看N次&#xff0c;网上资料找一大堆&#xff0c;就是不明白原理&#xff0c;后来为搞明白逻辑&#xff0c;按照教材的数据一样做&#xf…

强化学习笔记(5)——PPO

PPO视频课程来源 首先理解采样期望的转换 变量x在p(x)分布下&#xff0c;函数f(x)的期望 等于f(x)乘以对应出现概率p(x)的累加 经过转换后变成 x在q(x)分布下&#xff0c;f(x)*p(x)/q(x) 的期望。 起因是&#xff1a;求最大化回报的期望&#xff0c;所以对ceta求梯度 具体举例…

Linux第105步_基于SiI9022A芯片的RGB转HDMI实验

SiI9022A是一款HDMI传输芯片&#xff0c;可以将“音视频接口”转换为HDMI或者DVI格式&#xff0c;是一个视频转换芯片。本实验基于linux的驱动程序设计。 SiI9022A支持输入视频格式有&#xff1a;xvYCC、BTA-T1004、ITU-R.656&#xff0c;内置DE发生器&#xff0c;支持SYNC格式…

ANSYS Workbench打开cdb文件

背景&#xff1a; 前面一篇文章已经说过ANSYS Mechanical APDL打开cdb文件-CSDN博客&#xff0c;经典ANSYS界面可以打开HyperMesh中生成的cdb文件&#xff0c;如果是workbench&#xff0c;那么该如何操作&#xff1f; 方法&#xff1a; 首先打开ANSYS的workbench软件&#xf…

计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战

前一篇文章&#xff0c;Tensor 基本操作5 device 管理&#xff0c;使用 GPU 设备 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started PyTorch 计算图和 Autograd 微积分之于机器学习Computational Graphs 计算图Autograd…