5812. 【NOIP提高A组模拟2018.8.14】 区间 
(File IO): input:range.in output:range.out

Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits    Special Judge    Downloads

Goto ProblemSet

Description

每一个机房中总有一个红太阳。有一天,AmberFrame 来到机房,发现桌上有不知道哪个蒟蒻放上的问 题: 有一个 n 个数的序列,一开始所有的数都是 0,每次可以将一个区间 [l, r](l ≤ r) 内的数 +1,求到达最 终状态的最少操作次数。 AmberFrame 非常强,自然不会把时间花在这种水题上。因此他就把任务交给了你,如果不会做的话,他 可能就会觉得你就是那个放问题的蒟蒻了而把你批判一番了。 
 

Input

第一行包含一个正整数 n,表示序列的长度。
第二行包含 n 个非负整数 a1, a2, ..., an,表示最终的状态。

Output

输出的第一行是一个正整数 m,表示最少的操作次数。 接下来 m 行每行两个正整数 li , ri,表示一次操作。你需要保证 1 ≤ li ≤ ri ≤ n。 保证最少次数 m ≤ 10^5,输出可以以任意顺序输出。 
 

Sample Input

6
2 3 3 3 3 3

Sample Output

3
1 6
1 6
2 6
 

Data Constraint

aaarticlea/jpeg;base64,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" alt=" " />
 

Hint

下发样例中第 i 个样例与第 i 组数据范围相符。
对于样例 1,第一个数被加了两次,其他每个数都被加了三次,显然满足条件。
 
做法:一开始还想用线段树来着,后来发现会超时,题解上说打差分从头到尾扫一遍就好啦
 
代码如下:

 #include <cstdio>
#include <cstring>
#include <iostream>
#define N 100007
using namespace std;
int n, a[N], list[N], tot, ans; int abs (int x) { return x > ? x : -x; } void Work(int step, int Times)
{
for (; Times--; list[++tot] = step);
} void Print(int step, int Times)
{
for(; Times--; printf("%d %d\n", list[tot--], step));
} int main()
{
freopen("range.in", "r", stdin);
freopen("range.out", "w", stdout);
scanf("%d", &n);
for (int i = ; i <= n; scanf("%d", &a[i++]));
for (int i = ; i <= n; i++)
if (a[i] > a[i - ]) ans += a[i] - a[i - ];
printf("%d\n", ans);
for (int i = ; i <= n + ; i++)
{
if (a[i] > a[i - ]) Work(i, abs(a[i] - a[i - ]));
if (a[i] < a[i - ]) Print(i - , abs(a[i] - a[i - ]));
}
}

JZOJ 5812. 【NOIP提高A组模拟2018.8.14】 区间的更多相关文章

  1. 【NOIP提高A组模拟2018.8.14】 区间

    区间加:差分数组修改 O(n)扫描,负数位置单调不减 #include<iostream> #include<cstring> #include<cstdio> # ...

  2. JZOJ 5818. 【NOIP提高A组模拟2018.8.15】 做运动

    5818. [NOIP提高A组模拟2018.8.15] 做运动 (File IO): input:running.in output:running.out Time Limits: 2000 ms  ...

  3. 5820. 【NOIP提高A组模拟2018.8.16】 非法输入(模拟,字符串)

    5820. [NOIP提高A组模拟2018.8.16] 非法输入 (File IO): input:aplusb.in output:aplusb.out Time Limits: 1000 ms   ...

  4. [jzoj 5782]【NOIP提高A组模拟2018.8.8】 城市猎人 (并查集按秩合并+复杂度分析)

    传送门 Description 有n个城市,标号为1到n,修建道路花费m天,第i天时,若gcd(a,b)=m-i+1,则标号为a的城市和标号为b的城市会建好一条直接相连的道路,有多次询问,每次询问某两 ...

  5. [jzoj 5781]【NOIP提高A组模拟2018.8.8】秘密通道 (最短路)

    传送门 Description 有一副nm的地图,有nm块地,每块是下列四种中的一种: 墙:用#表示,墙有4个面,分别是前面,后面,左面,右面. 起点:用C表示,为主角的起点,是一片空地. 终点:用F ...

  6. [jzoj 5778]【NOIP提高A组模拟2018.8.8】没有硝烟的战争 (博弈论+dp)

    传送门 Description 被污染的灰灰草原上有羊和狼.有N只动物围成一圈,每只动物是羊或狼. 该游戏从其中的一只动物开始,报出[1,K]区间的整数,若上一只动物报出的数是x,下一只动物可以报[x ...

  7. [JZOJ5817] 【NOIP提高A组模拟2018.8.15】 抄代码

    Description J 君是机房的红太阳,每次模拟她总是 AK 虐场.然而在 NOIP2117 中,居然出现了另一位 AK 的选手 C 君! 这引起了组委会的怀疑,组委会认为 C 君有抄袭 J 君 ...

  8. [JZOJ5818] 【NOIP提高A组模拟2018.8.15】 做运动

    Description 一天,Y 君在测量体重的时候惊讶的发现,由于常年坐在电脑前认真学习,她的体重有了突 飞猛进的增长. 幸好 Y 君现在退役了,她有大量的时间来做运动,她决定每天从教学楼跑到食堂来 ...

  9. [JZOJ5781]【NOIP提高A组模拟2018.8.8】秘密通道

    Description 有一副n*m的地图,有n*m块地,每块是下列四种中的一种:墙:用#表示,墙有4个面,分别是前面,后面,左面,右面.起点:用C表示,为主角的起点,是一片空地.终点:用F表示,为主 ...

随机推荐

  1. asp.net mvc里面竟然也可以用eval()

    刚才在项目里面看到了一个牛逼的用法: style="display:<%# Eval("IsSharingPlatformDisplay") %>" ...

  2. Java关键字和基础问题

    1. Java关键字 1.1 extends和implements extends继承普通class或abstract(抽象)类(java单继承) implements多继承能力,实现interfac ...

  3. 整理:sql server 中sql语句执行顺序

    SQL Server 查询处理中的各个阶段(SQL执行顺序) SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是 ...

  4. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(2):添加一个控制器

    2. 添加一个控制器 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-c ...

  5. 【java】Cookie购物车实现

    前言 一个基于Cookie的购物车实现 话不多说,直接上代码 导包 import java.net.URLDecoder; import java.util.ArrayList; import jav ...

  6. js重载的实现

    在JavaScript高级程序设计书中看到 ECMAScript函数中不能想传统意义上那样实现重载.而在其他语句中(Java)中,可以为一个函数编写两个定义,只要两个定义的签名(接受的参 数的类型和数 ...

  7. Sometimes it takes going through something so awful to realize the beauty that is out there in this world.

    Sometimes it takes going through something so awful to realize the beauty that is out there in this ...

  8. 初学者:Git常用命令总结

    git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone      获取一个u ...

  9. windows环境下Nginx部署及Https设置

    一.Nginx安装部署及常用命令. 1.1.其实Nginx是免安装的.直接在官网下载zip包,解压即可,下载地址:http://nginx.org/en/download.html,因为我这边的开发服 ...

  10. IOS 绘制图片水印(封装)

    - (void)viewDidLoad { [super viewDidLoad]; // -1.加载图片 // UIImage *image = [UIImage imageNamed:@" ...