反思

  • 写一写可以发现上限不断更新
  • 一直在想怎么判断NO,刻板拘泥于错误的模型,想要像往常一样贪心地、读入当前值就能判断会不会NO,实际上只要构造完以后,最后把所有操作重新跑一遍看会不会冲突即可判断NO
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;const int maxn = 5005;
int n, m, a[maxn];
int op[maxn], l[maxn], r[maxn], d[maxn];
int maxval[maxn], add[maxn];int main() {scanf("%d %d", &n, &m);for (int i = 1; i <= n; i++)maxval[i] = 1e9;for (int i = 1; i <= m; i++) {scanf("%d %d %d %d", &op[i], &l[i], &r[i], &d[i]);if (op[i] == 1) {for (int j = l[i]; j <= r[i]; j++)add[j] += d[i];} else {for (int j = l[i]; j <= r[i]; j++)maxval[j] = min(maxval[j], d[i] - add[j]);}}for (int i = 1; i <= n; i++)a[i] = maxval[i];for (int i = 1; i <= m; i++) {if (op[i] == 1) {for (int j = l[i]; j <= r[i]; j++)a[j] += d[i];} else {int minn = -1e9;for (int j = l[i]; j <= r[i]; j++)minn = max(minn, a[j]);if (minn != d[i])   return puts("NO");}}puts("YES");for (int i = 1; i <= n; i++)printf("%d ", maxval[i]);
}

转载于:https://www.cnblogs.com/AlphaWA/p/11123913.html

Codeforces 360A(找性质)相关推荐

  1. CodeForces - 711A 找座位 难度:C++入门 复杂度:简单 翻译难度:难

    from Pisces's Trial双鱼座 输入第一个整数表多少行座位,之后输入座位的占用情况:输出是否能找到给两人一起坐并且在同侧的座位(输出YES或NO),并把找到的座位替换为"++& ...

  2. CodeForces 360A - Levko and Array Recovery (模拟)

    题目地址:点击打开链接 思路: 维护每个数的上下界,先按照操作倒着求一遍,可以得到每个数的上界,再按操作正着验证一遍是否能够满足.如果都能满足的话输出上界即可. 代码: #include<ios ...

  3. CodeForces 360A - Levko and Array Recovery (思维)

    题意: 给定一个序列,然后对其进行两种操作 1   L R W   代表从 a[L ] 到a[R] 全部加上W 2   L R W  代表从  a[L] 到 a[R] 中最大值为 W 问是否存在一个序 ...

  4. CodeForces 360A - Levko and Array Recovery【动规】

    题意:一道已知操作求原始数组的题目: 分析:求出每个位置初始时可能的最小值...然后再判断是否合法即可: 疑问之处:为什么a数组初始要给10^9(原始数组的最大范围),而不能是inf? AC代码: # ...

  5. CodeForces 360A - Levko and Array Recovery 给出操作求原始数列

    题意: 对一个数列有这么两个操作 1.(1,l,r,p)..将区间[l,r]所有数都加上p 2.(2,l,r,m).求出区间[l,r]的最大值为m 现在告诉这么一些操作(<5000个)...问能 ...

  6. Codeforces Round #346 (Div. 2)

    A - Round House 题意:长度为n个环.起始位置是a,然后给出b,b是正数代表顺时针跑b个单位.b是负数代表逆时针跑b个单位. 思路:基础数学题目吧. PS:对于C++和G++编译器而言 ...

  7. Codeforces Round #645 (Div. 2) E - Are You Fired? 题解(思维)

    题目链接 题目大意 给你一个长为n的数组前(n+1)/2个数为a[i],后面的数为x,让你求出一个长度k使其所有连续为k的数组之和都大于0 题目思路 首先要找性质,如果k满足,那么显然k*2也满足那么 ...

  8. ACM2023SWJTU寒假选拔赛2不完全题解

    2022.01.15.更新D | L:数学找规律 | dfs(tle)->贪心模拟 2022.01.14.更新L题:统计连通子图数模型,三解:dsu,bfs,dfs 文章目录 B - 这是一道方 ...

  9. 第 46 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(沈阳),签到题5题

    文章目录 E.Edward Gaming, the Champion F.Encoded Strings I B.Bitwise Exclusive-OR Sequence J.Luggage Loc ...

最新文章

  1. tar exclue文件夹
  2. 混合云应用双活容灾实践
  3. 课后作业:情境二:数据类型与运算符 3、运算符及表达式
  4. UVA - 1587 Box
  5. django传递URL到某个app的urls.py文件中
  6. setint 的用法
  7. Python搭建环境
  8. [转]用户空间和内核空间,进程上下文和中断上下文
  9. 木工雕刻机操作教学视频
  10. 数学之美番外篇:平凡而又神奇的贝叶斯方法
  11. 可以将txt文件转换为mobi的小软件
  12. 个人安卓学习笔记---搭建Androd开发环境
  13. idea中安装maven3.6.1
  14. 移动游戏机和PC已合并游戏的奇点
  15. 简单使用一下IDEA 的HTTP Client
  16. 机器学习笔记--微积分
  17. java控制分屏_java实现arcgis地图分屏(双图)
  18. write字符串python_Python-write()与writelines()和连接字符串
  19. 企业怎样管理员工更有效?
  20. 互联网平台再谈互联网平台化-糗百成功案例

热门文章

  1. XP系统因以下文件的损坏或丢失,WINDOWS无法启动:\windows\system32\config\system的解决思路实践
  2. 堆栈,堆栈,堆和栈的区别
  3. LCD1602模块-带IIC转接板
  4. htons/ntohs、inet_aton/inet_ntoa、inet_pton/inet_ntop函数详解
  5. Vue导出word附表部分横向显示(承接上一篇Vue纯前端导出word)
  6. 健身房行业研究规划及投资可行性分析
  7. 微信开发者工具:代理不安全的问题解决方法
  8. 上城区餐饮油污加大整治,环境污染攻坚克难
  9. SpringBoot RabbitMQ 商品秒杀【SpringBoot系列15】
  10. Oracle用户解锁