P4231 三步必杀

题目背景
(三)旧都

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

天空飘着不寻常的雪花。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

那么实验就这样开始了。

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

地面上,天色渐晚。

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

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

(后续剧情在题解中,接下来请看T3)
题目描述
问题摘要:

NNN个柱子排成一排,一开始每个柱子损伤度为0。

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

表示这次攻击作用范围为第lll个到第rrr个之间所有的柱子(包l,r),对第一个柱子的伤害为s,对最后一个柱子的伤害为e。

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

鬼族们需要的是所有攻击完成之后每个柱子的损伤度。
输入输出格式
输入格式:

第一行2个整数NNN,MMM,用空格隔开,下同。

接下来MMM行,每行4个整数lll,rrr,sss,eee,含义见题目描述。

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

输出格式:

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

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

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

输入输出样例
输入样例#1: 复制

5 2
1 5 2 10
2 4 1 1

输出样例#1: 复制

3 10

输入样例#2: 复制

6 2
1 5 2 10
2 4 1 1

输出样例#2: 复制

3 10

说明
样例解释:

样例1:

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

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

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

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

样例2:

没有打到第六根柱子,答案不变
数据范围:

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

妖精级(18/3):1⩽n1\leqslant n1⩽n,m⩽1000m\leqslant1000m⩽1000。这种工作即使像妖精一样玩玩闹闹也能完成吧?

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

天狗级(20/4):1⩽n⩽1051\leqslant n\leqslant10^51⩽n⩽105,1⩽m⩽1051\leqslant m\leqslant10^51⩽m⩽105。小打小闹不再可行了呢。

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

以上四部分数据不相交。

对于全部的数据:1⩽n⩽1071\leqslant n\leqslant10^71⩽n⩽107,1⩽m⩽3×1051\leqslant m\leqslant3\times 10^51⩽m⩽3×105,1⩽l<r⩽n1\leqslant l<r\leqslant n1⩽l<r⩽n.

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

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

by orangebird

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 10000010
using namespace std;
int n,m,l,r,s,e,d;
long long a[N],b[N],c[N],maxx,tom;
int main(){int i;scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){scanf("%d%d%d%d",&l,&r,&s,&e);d=(e-s)/(r-l);c[l]=c[l]+s;c[l+1]=c[l+1]+d-s;c[r+1]=c[r+1]-d-e;c[r+2]=c[r+2]+e;}for(i=1;i<=n;i++){b[i]=b[i-1]+c[i];a[i]=a[i-1]+b[i];if(a[i]>maxx)maxx=a[i];tom^=a[i];}printf("%lld %lld",tom,maxx);return 0;
}

三步必杀【洛谷P4231】相关推荐

  1. (差分)洛谷P4231 三步必杀

    洛谷P4231 三步必杀 三步必杀 题目背景 (三)旧都 离开狭窄的洞穴,眼前豁然开朗. 天空飘着不寻常的雪花. 一反之前的幽闭,现在面对的,是繁华的街市,可以听见酒碗碰撞的声音. 这是由被人们厌恶的 ...

  2. P4231 三步必杀 二次差分

    传送门 文章目录 题意: 思路: 题意: 思路: 考虑给[2,6][2,6][2,6]加上s=2,e=10s=2,e=10s=2,e=10的等差数列,变成2,4,6,8,102,4,6,8,102,4 ...

  3. P4231 三步必杀

    P4231 三步必杀 题目背景 (三)旧都 离开狭窄的洞穴,眼前豁然开朗. 天空飘着不寻常的雪花. 一反之前的幽闭,现在面对的,是繁华的街市,可以听见酒碗碰撞的声音. 这是由被人们厌恶的鬼族和其他妖怪 ...

  4. 三步必杀(P4231)

    (三)旧都 离开狭窄的洞穴,眼前豁然开朗. 天空飘着不寻常的雪花. 一反之前的幽闭,现在面对的,是繁华的街市,可以听见酒碗碰撞的声音. 这是由被人们厌恶的鬼族和其他妖怪们组成的小社会,一片其乐融融的景 ...

  5. Luogu P4231 三步必杀 (差分)

    目录 题目 题解 题目 题目链接 题目背景 (三)旧都 离开狭窄的洞穴,眼前豁然开朗. 天空飘着不寻常的雪花. 一反之前的幽闭,现在面对的,是繁华的街市,可以听见酒碗碰撞的声音. 这是由被人们厌恶的鬼 ...

  6. 三步必杀(高阶差分系列)

    题目链接:(https://www.luogu.org/problemnew/show/P4231 ) 题目背景 (三)旧都 离开狭窄的洞穴,眼前豁然开朗. 天空飘着不寻常的雪花. 一反之前的幽闭,现 ...

  7. 教你如何更改在洛谷里的运势

    如何更改你在洛谷里的运势 你会不会经常满怀期待的打开洛谷 却发现今天的运势是凶 多么令人伤心啊qwq 但是,今天我来教你,如何让运势瞬间变成大吉. 第一步:打开洛谷 然后-没了 第二步:右击写着&qu ...

  8. 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序

    记录洛谷刷题QAQ 一.[深基3.例3]闰年判断 题目描述 输入一个年份,判断这一年是否是闰年,如果是输出 111,否则输出 000. 输入格式 输入一个正整数 nnn,表示年份. 输出格式 输出一行 ...

  9. 【洛谷新手村解题报告三 字符串/递归前】C++语言,一题多解,思路和WA反思

    [洛谷新手村解题报告三] 简单字符串 过程函数与递归 首先下一部分!字符串,这个前面两题新手跳过吧 简单字符串 第三题 统计单词数 [2/2] 给定一个单词,请你输出它在给定的文章中出现的次数和第一次 ...

最新文章

  1. Android RadioButton 修改选择框
  2. python使用matplotlib可视化、查看matplotlib可视化中不同字体形式、不同字号、斜体可视化的效果对比
  3. Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)
  4. mybatis注解详解
  5. CIDetector 相册识别二维码出错
  6. SSH连接原理及ssh-key讲解
  7. 运行npm update等命令出错后如何分析问题根源
  8. Vuex说明及Todos项目改造
  9. 阿里文娱首次公开!AI 如何对爆款内容未卜先知?
  10. 近期计算机视觉相关算法竞赛汇总—高额奖金等你来拿!
  11. 最受欢迎中文机器学习课程,台大李宏毅老师公开课2019版上线!
  12. 关于神经网络的需要注意的概念总结
  13. java并发编程之线程的生命周期详解
  14. 市面上好用的 Markdown 编辑器,我给你整理好了
  15. [转]AVALONDOCK 2.0入门指南第一部分
  16. Docker容器网络访问慢问题
  17. Excel公式不自动计算出结果
  18. 初识FineBI数据分析
  19. 第1卦 乾为天(乾卦) 刚健中正 上上卦
  20. Windows程序设计(中文第五版·珍藏版).mobi 电子书

热门文章

  1. Maven详解(第二节)
  2. V-Net: 医学图像分割
  3. mysql安装教程5.1_mysql 5.1安装教程详解
  4. 微信小程序之时间计算器
  5. 【Visual Studio 】Visual Studio 2019 软件安装
  6. 人工智能会取代艺术家?
  7. 2d游戏中角色动画解决方案
  8. 推荐计算机 在线使用方法,在线记笔记平台推荐:如何优雅地用电脑记笔记
  9. android——webview解决goback()后,界面会刷新的问题
  10. Java导出excel文件以.xlsx后缀结尾,可设置部分单元格只读