news 2026/5/11 20:49:10

打卡信奥刷题(3245)用C++实现信奥题 P8563 Magenta Potion

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3245)用C++实现信奥题 P8563 Magenta Potion

P8563 Magenta Potion

题目描述

给定一个长为nnn的整数序列aaa,其中所有数的绝对值均大于等于222。有qqq次操作,格式如下:

1 i k\texttt{1 i k}1 i k,表示将aia_iai修改为kkk。保证 $k $ 的绝对值大于等于222

2 l r\texttt{2 l r}2 l r,考虑[l,r][l,r][l,r]的子区间(包括本身)中乘积最大的的区间乘积MMM。如果M>230M>2^{30}M>230,输出Too large,否则输出MMM。特别地,空区间的元素乘积定义为111

输入格式

第一行两个正整数表示n,qn,qn,q

第二行输入nnn整数表示aia_iai

接下来qqq行,每行三个整数表示一次询问,格式见上。

输出格式

对于每次2\tt22操作输出一行表示询问的答案。

输入输出样例 #1

输入 #1

5 7 2 2 3 4 5 2 1 5 1 3 -3 2 1 5 2 3 3 1 1 100000 1 2 100000 2 1 2

输出 #1

240 20 1 Too large

说明/提示

对于所有的数据,2≤∣ai∣,∣k∣≤1092\le |a_i|,|k| \le 10^92ai,k1091≤n,q≤2×1051 \le n,q \le 2\times 10^51n,q2×1051≤l≤r≤n1 \le l \le r \le n1lrn

测试点编号 n,q≤ 特殊限制 1∼2103∼61007∼105×10311∼13A14∼16B17∼20 \def\arraystretch{1.5} \begin{array}{c|c|c}\hline \textbf{测试点编号}&\bm{~~~~~~~~n,q\le~~~~~~~~}&~~~~\textbf{特殊限制}~~~~\cr\hline \textsf1\sim \sf2 & 10& \cr\hline \sf3\sim 6 & 100& \cr\hline \sf7\sim 10 & 5 \times 10^3&\cr\hline \sf 11\sim 13 & &\sf A\cr\hline \sf14\sim 16 & & \sf B\cr\hline \sf17\sim 20 & &\cr\hline \end{array}测试点编号1236710111314161720n,q101005×103特殊限制AB

A\textsf AA:保证ai,k≥2a_i,k \ge 2ai,k2

B\textsf BB:保证对于每一组询问,对应的r−l≥100r-l \ge 100rl100

C++实现

#include<bits/stdc++.h>#definelllonglong#defineinf1<<30usingnamespacestd;intn,q;ll arr[200005];intmain(){cin>>n>>q;for(inti=1;i<=n;i++)cin>>arr[i];while(q--){intop,x,y;cin>>op>>x>>y;if(op==1)arr[x]=y;else{if(x==y&&arr[x]<0)cout<<1<<endl;else{if(y-x+1>61)cout<<"Too large"<<endl;else{intcnt=0;for(inti=x;i<=y;i++)if(arr[i]<0)cnt++;if(cnt%2==0){ll res=1;for(inti=x;i<=y&&res<=inf;i++)res*=abs(arr[i]);if(res>inf)cout<<"Too large"<<endl;elsecout<<res<<endl;}else{intl=x,r=y;while(arr[l]>0&&l<=y)l++;while(arr[r]>0&&r>=x)r--;ll res1=1,res2=1;for(inti=l+1;i<=y&&res1<=inf;i++)res1*=abs(arr[i]);for(inti=x;i<r&&res2<=inf;i++)res2*=abs(arr[i]);if(res1>inf||res2>inf)cout<<"Too large"<<endl;elsecout<<max(res1,res2)<<endl;}}}}}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 20:47:24

高性能代理池管理利器:openclaw-vertex-proxy架构解析与实战部署

1. 项目概述与核心价值 最近在折腾一些需要处理大量网络请求和API调用的自动化项目时&#xff0c;遇到了一个老生常谈的问题&#xff1a;如何高效、稳定地管理HTTP代理&#xff0c;尤其是在需要处理海量请求、动态切换IP、并且对请求成功率有极高要求的场景下。传统的代理池方案…

作者头像 李华
网站建设 2026/5/11 20:43:19

超低功耗RFIC设计:1V供电下的电路创新与实践

1. 超低功耗RFIC设计的技术挑战与市场机遇在可穿戴设备和物联网终端爆炸式增长的今天&#xff0c;工程师们面临着一个看似矛盾的设计需求&#xff1a;如何在指甲盖大小的空间里&#xff0c;实现长达数月的无线通信续航&#xff1f;这个问题的核心在于射频集成电路&#xff08;R…

作者头像 李华
网站建设 2026/5/11 20:36:28

别再乱接电源了!STM32 ADC采样不准?可能是VDDA和VSSA没处理好

STM32 ADC采样精度优化实战&#xff1a;从电源设计到PCB布局的完整解决方案 在嵌入式系统开发中&#xff0c;ADC采样精度问题就像一位难以捉摸的"隐形杀手"&#xff0c;往往在项目最后阶段才露出狰狞面目。我曾在一个工业传感器项目中&#xff0c;花费两周时间追查AD…

作者头像 李华
网站建设 2026/5/11 20:34:10

LLaVA-OneVision-1.5:构建统一视觉理解中枢的多模态大模型实践

1. 项目概述&#xff1a;多模态大模型的“视觉中枢”革新最近在开源社区里&#xff0c;一个名为“LLaVA-OneVision-1.5”的项目引起了我的注意。乍一看&#xff0c;它似乎是LLaVA&#xff08;Large Language and Vision Assistant&#xff09;家族的一个新成员&#xff0c;但“…

作者头像 李华