个人赛2 简单思维
2017-08-28 21:27
148 查看
维斯特洛王国的地图显示,维斯特洛山脉共有N座山组成,每一座山的海拔高度为Hi (-50000 ≤ Hi ≤ 50000)。山脉中有一些山构成山峰,山峰满足1 < i < N 且 Hi-1 < Hi > Hi+1。根据惯例,地图上需要对所有山峰进行命名和标注海拔高度。
然而,维斯特洛山脉地处颤抖海火山地震带,时有地震发生。
地震发生后,所有[L, R]区间的山都会上升P个高度(P为负时是下降)。现在小马哥接到任务要求统计出每次地震之后,维斯特洛山脉中山峰的数量。
然而,维斯特洛山脉地处颤抖海火山地震带,时有地震发生。
地震发生后,所有[L, R]区间的山都会上升P个高度(P为负时是下降)。现在小马哥接到任务要求统计出每次地震之后,维斯特洛山脉中山峰的数量。
while (scanf("%d%d", &n, &m) != EOF) { int last = 0, x; scanf("%d", &last); for (int i = 1; i < n; i++) { scanf("%d", &x); a[i] = x - last; last = x; } int cnt = 0; for (int i = 1; i < n - 1; i++) if (a[i] > 0 && a[i + 1] < 0) ++cnt; while (m--) { int l, r, p; scanf("%d%d%d", &l, &r, &p); if (l - 1 > 1 && a[l - 2] > 0 && a[l - 1] < 0 && a[l - 1] + p >= 0) cnt--; if (l - 1 > 1 && a[l - 2] > 0 && a[l - 1] >= 0 && a[l - 1] + p < 0) cnt++; if (l < n && a[l - 1] > 0 && a[l] < 0 && a[l - 1] + p <= 0) cnt--; if (l < n && a[l - 1] <= 0 && a[l] < 0 && a[l - 1] + p > 0) cnt++; if (l < r && a[r - 1] > 0 && a[r] < 0 && a[r] - p >= 0) cnt--; if (l < r && a[r - 1] > 0 && a[r] >= 0 && a[r] - p < 0) cnt++; if (r + 1 < n && a[r] > 0 && a[r + 1] < 0 && a[r] - p <= 0) cnt--; if (r + 1 < n && a[r] <= 0 && a[r + 1] < 0 && a[r] - p > 0) cnt++; a[l - 1] += p; a[r] -= p; printf("%d\n", cnt); } } return 0; }JKK
相关文章推荐
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- codeforces 359A- Table(简单思维)
- Java编程简单应用———1、HelloWorld(HelloWorld的来源);2、输出个人信息3、输出特殊图案
- Java编程简单应用———1、HelloWorld(HelloWorld的来源);2、输出个人信息3、输出特殊图案
- Github上搭建个简单的个人博客
- ArcGIS 网络分析[1.3] 在个人地理数据库中创建网络数据集/并简单试验最佳路径
- 简单的html思维框架
- 突破思维:移动信息化部署不应简单迁移
- Springmvc+hibernate+spring简单实例实现(个人编译通过)
- 在github上写个人简历——最简单却又不容易的内容罗列
- AtCoder D - 高橋君と見えざる手 / An Invisible Hand 简单思维题
- C语言基础知识(个人简单总结的关于变量和函数方面)
- 【原】发布一段关于对XP占有率的评价,简单说说IT未来是什么?谈谈个人的一点点观点
- 个人对于堆栈的理解(简单通俗)
- 思维探索者:完善个人知识体系的重要性
- E - Toda 2 CodeForces - 730A(简单思维和处理技巧)
- CodeForces 354A - Vasya and Robot (简单思维)
- 财务之我论,简单纯粹的个人想法
- 在github上写个人简历——最简单却又不容易的内容罗列
- 个人简介 - HTML/CSS简单页面实例