当前位置: 首页 > news >正文

打卡信奥刷题(2825)用C++实现信奥题 P4231 三步必杀

P4231 三步必杀

题目背景

(三)旧都

离开狭窄的洞穴,眼前豁然开朗。

天空飘着不寻常的雪花。

一反之前的幽闭,现在面对的,是繁华的街市,可以听见酒碗碰撞的声音。

这是由被人们厌恶的鬼族和其他妖怪们组成的小社会,一片其乐融融的景象。

诶,不远处突然出现了一些密密麻麻的小点,好像大颗粒扬尘一样。

离得近了点,终于看清楚了。

长着角的鬼们聚在一起,围观着另一只鬼的表演。

那”扬尘”,其实都是弹幕。

勇仪的招数之一,三步之内,所到之处弹幕云集,几乎没有生存可能。

为了强化这一技能,勇仪将对着一排柱子进行攻击。

旧地狱的柱子虽然无比坚固,但保险起见还是先要了解一下这样一套攻击对柱子有多少损伤,顺带也能检验练习的效果。

勇仪决定和其它鬼们商量商量…

“我知道妖怪之山的河童一族有一种叫做计算机的神奇道具,说不定可以借来用用”,萃香说道。

于是旧地狱的鬼族就决定请河城荷取来帮忙了。

“要记录【所有柱子的损伤程度】吗”,荷取问道。

经过进一步的询问,荷取发现他们仅仅需要【所有攻击都完成后】柱子的损伤程度。

任务了解地差不多了,荷取将其中的重要部分提取了出来,记录在了她的工作笔记本上:

(记录的内容见题目描述)

那么实验就这样开始了。

在惊天动地的碰撞声中,勇仪每完成一轮攻击,荷取都忠实地记录下对每根柱子产生的伤害。而此时勇仪就在旁边等待着记录完成,然后再进行下一轮的攻击。

地面上,天色渐晚。

“不想在这里留到深夜啊,不然就回不了家了”,荷取这样想着,手中依然在重复地向计算机中输入新产生的信息。

“真的必须一次一次地记录下每轮攻击对每个柱子产生的伤害吗?有没有更高效的方法?”这一念头在荷取的心中闪过…

(后续剧情在题解中,接下来请看T3)

题目描述

N NN个柱子排成一排,一开始每个柱子损伤度为0 00

接下来勇仪会进行M MM次攻击,每次攻击可以用4 44个参数l , r , s , e l,r,s,el,r,s,e来描述:

表示这次攻击作用范围为第l ll个到第r rr个之间所有的柱子(包含l , r l,rl,r),对第一个柱子的伤害为s ss,对最后一个柱子的伤害为e ee

攻击产生的伤害值是一个等差数列。若l = 1 , r = 5 , s = 2 , e = 10 l=1,r=5,s=2,e=10l=1,r=5,s=2,e=10,则对第1 ∼ 5 1 \sim 515个柱子分别产生2 , 4 , 6 , 8 , 10 2,4,6,8,102,4,6,8,10的伤害。

鬼族们需要的是所有攻击完成之后每个柱子的损伤度。

输入格式

第一行2 22个整数N , M N,MN,M,用空格隔开,下同。

接下来M MM行,每行4 44个整数l , r , s , e l,r,s,el,r,s,e,含义见题目描述。

数据保证对每个柱子产生的每次伤害值都是整数。

输出格式

由于输出数据可能过大无法全部输出,为了确保你真的能维护所有柱子的损伤度,只要输出它们的异或和与最大值即可。

(异或和就是所有数字按位异或起来的值。)

(异或运算符在 c++ 里为^。)

输入输出样例 #1

输入 #1

5 2 1 5 2 10 2 4 1 1

输出 #1

3 10

输入输出样例 #2

输入 #2

6 2 1 5 2 10 2 4 1 1

输出 #2

3 10

说明/提示

样例解释:

样例1 11

第一次攻击产生的伤害:2 , 4 , 6 , 8 , 10 2,4,6,8,102,4,6,8,10

第二次攻击产生的伤害:0 , 1 , 1 , 1 , 0 0,1,1,1,00,1,1,1,0

所有攻击结束后每个柱子的损伤程度:2 , 5 , 7 , 9 , 10 2,5,7,9,102,5,7,9,10

输出异或和与最大值,就是3 , 10 3,103,10

样例2 22

没有打到第六根柱子,答案不变

数据范围:

本题满分为100 100100分,下面是4 44个子任务。( x / y ) (x/y)(x/y)表示(得分/测试点数量)。

妖精级( 18 / 3 ) (18/3)(18/3)1 ≤ n , m ≤ 1000 1 \le n,m \le 10001n,m1000。这种工作即使像妖精一样玩玩闹闹也能完成吧?

河童级( 10 / 1 ) (10/1)(10/1)s = e s=es=e,这可以代替我工作吗?

天狗级( 20 / 4 ) (20/4)(20/4)1 ≤ n , m ≤ 10 5 1 \le n,m \le 10^51n,m105。小打小闹不再可行了呢。

鬼神级( 52 / 2 ) (52/2)(52/2):没有特殊限制。要真正开始思考了。

以上四部分数据不相交。

对于全部的数据:1 ≤ n ≤ 10 7 1\le n\le 10^71n1071 ≤ m ≤ 3 × 10 5 1\le m\le 3\times 10^51m3×1051 ≤ l < r ≤ n 1\le l < r \le n1l<rn.

所有输入输出数据以及柱子受损伤程度始终在[ 0 , 9 × 10 18 ] [0,9 \times 10^{18}][0,9×1018]范围内。

提示:

由于种种原因,时间限制可能会比较紧,c++ 选手请不要使用cin读入数据。

by orangebird。

C++实现

#include<bits/stdc++.h>usingnamespacestd;usingll=int64_t;constintN=1e7+5;intn,m;ll c[N];intmain(){scanf("%d%d",&n,&m);ll a=0,b=0,s,t,d,Max=0,Xor=0;for(intL,R;m--;){scanf("%d%d%lld%lld",&L,&R,&s,&t);d=(t-s)/(R-L);c[L]+=s,c[L+1]+=d-s;c[R+1]-=d+t,c[R+2]+=t;}for(inti=1;i<=n;++i)Max=max(Max,a+=(b+=c[i])),Xor^=a;printf("%lld %lld",Xor,Max);return0;}

后续

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

http://www.jsqmd.com/news/366744/

相关文章:

  • 从ChatGPT到新质生产力:一份信息驱动的AI研究方向指南
  • Zabbix数据采集页面,主机可用性是灰色的问题排查解决笔记
  • YC 2026未来方向
  • 阿如那从极致反派到热血番男主,网友:内娱需要这样的男主
  • 2026全国管材源头厂家实力榜:涵盖 PE 管、PVC 管、复合管 - 深度智识库
  • 多号发圈终于不用来回切换了,3步搞定!
  • 劝所有私域运营/销售:微信自动回复早用早轻松
  • 动态模型切割工具EzySlice完整实现逻辑
  • 环境治理AI:异常检测在基础设施污染源的自动定位工具
  • 2026年2月哈尔滨跟团游旅行社战略选择与五强深度解析 - 2026年企业推荐榜
  • 京东比价项目的开展和API接口接入的具体步骤是什么?
  • 大模型时代,普通人也能入行AI?收藏这份3步进阶指南,3-5个月实现职业跃迁!
  • ‌合规测试自动化:NLP解析GDPR条款的测试用例生成工具‌
  • 2026年2月哈尔滨跟团游旅行社哪家好 - 2026年企业推荐榜
  • excel快速输入时间的快捷键
  • 2026国内最新全屋定制板材十大实力厂家推荐!山东等地优质环保/抗菌/ENF级/门墙柜一体化板材权威榜单发布 - 品牌推荐2026
  • 好用的集成灶蒸烤一体推荐?2025十大品牌权威指南 看完再买不踩坑 - 匠言榜单
  • 2026启航:在太原,锚定AI原生未来——清美教育原美校区人工智能高阶人才培养计划
  • VSCode - Ray
  • wsl磁盘占用只增不减怎么搞
  • 在 IntelliJ IDEA 中初始化 Java 类并设置所有属性的几种快捷方法:
  • 2026AI大模型学习路线,只看这一篇就够了!大模型应用开发就这么简单!收藏这一篇就够了
  • libero PolarFire soc SPI-DirectC 实战 dp_G5M_set_mode
  • [无线通信基础-36]:通信系统中的噪声种类与表达方式,通俗易懂
  • 2025-2026大模型落地指南:收藏!小白/程序员必看AI Agent核心算法与生态进展
  • 2026年GEO服务商深度评测:市场格局、技术路径与科学选型指南 - 品牌策略主理人
  • 2026 佛山英语雅思培训教育机构推荐;雅思培训课程中心权威口碑榜单 - 苏木2025
  • 成都全包装修|成都里林设计一站式全包服务 全案落地 + 先装后付,省心装出高品质家 - 推荐官
  • 汽车仿真系统如何用wangEditor控件导入CAE分析报告截图?
  • 成都装修设计工作室|成都里林设计 本土深耕以设计赋能,全维服务打造理想人居 - 推荐官