CodeForces..奇数查询.[简单].[数组计算].[n项和]

news/2024/11/28 21:53:23/

题目描述:


题目解读:

给定数组an,将数组内第l位到第r位的元素变为k,问数组元素和会变为奇数吗?

第一行输入数组长度n和查询(改写)次数q

第二行输入数组所有元素

接下来q行输入 l,r,k,分别代表被更改元素的左右边界和要修改成的值k

输出数组元素和是否为奇数,是则yes  不是则no


解题思路:

循环替换的话下一轮没法回归原值。所以要计算未修改的元素的和,再加上被修改元素的和k*(r-l+1),对总和判断奇偶。

思路一:先输入数组后,循环计算a[1]~a[l-1]的和,a[r]~a[n]的和,l-r+1个k的和,三部分相加,然后判断奇偶。(该思路可行,但是oj判定超时)

思路二:输入数组的同时,计算前n项和,比如a[2]=a1+a2,a[3]=a1+a2+a3...最后将a[l-1],a[n]-a[r],(l-r+1)*k,三部分相加,判断奇偶即可。


代码实现:

思路一:

#include <stdio.h>
#define MAX 200000 void Solve() {int n,q,l,r,k; int i = 0;int num[MAX];int sum = 0;scanf("%d%d", &n,&q);num[0] = 0;for (i = 1; i <= n; i++) {scanf("%d", &num[i]);}while (q--) {scanf("%d%d%d", &l, &r, &k);for (i = 1; i < l; i++) {sum += num[i];}for (i = r + 1; i <= n; i++) {sum += num[i];}sum += k * (r - l + 1);if (sum % 2 == 0) {printf("NO\n");}else {printf("YES\n");}sum = 0;}return;
}int main() {int t;scanf("%d", &t);while (t--) Solve();return 0;
}

思路二: 

#include <stdio.h>void Solve() {int n, q;scanf("%d%d", &n, &q);int num[n];num[0] = 0;for (int i = 1; i <= n; i++) {int nums;scanf("%d", &nums);num[i] =num[i-1]+ nums; }for (int j = 0; j < q; j++) {int l, r, k;scanf("%d%d%d", &l, &r, &k);int sum=(num[l-1]-num[0]) + (num[n] - num[r]) + k * (r - l + 1);if (sum % 2 == 0) {printf("NO\n");}else printf("YES\n");}return;
}int main() {int t;scanf("%d", &t);while (t--) Solve();return 0;
}

遇到的错误:


http://www.ppmy.cn/news/261261.html

相关文章

URL到页面: 探索网页加载的神秘过程

当我们从浏览器的地址栏输入 URL, 按下回车, 再到最后出现需要的网页界面, 这中间究竟发生了什么, 接下来就一步步进行解析. 主要是如下过程: 输入网址DNS 解析客户端发送 HTPP 请求建立 TCP 连接服务器处理请求, 计算响应, 返回响应浏览器渲染页面关闭连接 本篇中只是概述整…

H3C交换机常用命令大全

一.用户配置: system-view [H3C]super password H3C 设置用户分级密码 [H3C]undo super password 删除用户分级密码 [H3C]localuser bigheap 123456 1 Web网管用户设置,1&#xff08;缺省&#xff09;为管理级用户,缺省admin,admin [H3C]undo localuser bigheap 删除Web网管用…

time.h 详细介绍

time.h 详细介绍 < ctime> (time.h)包含获得和使用日期和时间信息的函数的定义。一、Macro constants&#xff08;宏常量&#xff09; CLOCKS_PER_SEC&#xff1a;滴答声/秒&#xff0c;时间的单位NULL&#xff1a;空指针 二、types&#xff08;类型&#xff09; clo…

HI3516A/Hi3516D H265流结构分析

HI3516A/Hi3516D H265 ES流结构分析 通过录制H265的ES流&#xff0c;保存为文件&#xff0c;经过VLC(版本为V2.2.1),播放可以正常显示。在文件中查找00 00 00 01NALU头&#xff0c;发现在有6种开头分别为&#xff1a; 1&#xff09;00 00 00 01 40 01 2&#xff09;00 00 00 01…

机器人学回炉重造(1):正运动学、标准D-H法与改进D-H法的区别与应用(附ABB机械臂运动学建模matlab代码)

写在前面 学习代码都记录在个人github上&#xff0c;欢迎关注~ 书读百遍&#xff0c;其义自见。 要想当一名合格的机器人工程师&#xff0c;机器人学就是base_link&#xff0c;看多少遍都不为过。现在回炉重造一下&#xff0c;记录一下学习笔记&#xff08;以照片形式&#…

计算机中h是几进制,16进制后面用H表示,其他进制的用什么表示

16进制后面用H表示,其他进制的用什么表示以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 16进制后面用H表示,其他进制的用什么表示, 为什么100H是表示16进制的二进制数,其他的怎么表示 H表示16进制呀后缀H表示…

实验5、D/A转换实验

实验内容 基础部分&#xff1a; 1、编写程序&#xff0c;产生周期的锯齿波、矩形波、三角波和阶梯波&#xff0c;经D/A转换&#xff0c;显示在软件模拟示波器上。(要求&#xff1a;每种波形的周期数、阶梯波的阶梯数可通过参数设置。) 拓展部分&#xff1a; 2在软件模拟示波器上…

机械臂D-H坐标系的建立

正解与逆解的求解需要相应的机器人运动方程&#xff0c;其中关键的就是DH参数表 DH参数表用来描述机器人各关节坐标系之间的关系&#xff0c;有了DH参数表就可以在机器人各关节之间进行坐标转换 求解正解就是从关节1到关节5的坐标转换 基本知识 &#xff1a; 关节&#xff1a…