【NOIP提高A组模拟2018.8.14】 区间
区间加:差分数组修改
O(n)扫描,负数位置单调不减
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue> using namespace std; inline int rd(){
int ret=,f=;char c;
while(c=getchar(),!isdigit(c))f=c=='-'?-:;
while(isdigit(c))ret=ret*+c-'',c=getchar();
return ret*f;
} const int MAXN=; int a[MAXN],d[MAXN];
queue<int> Q1,Q2;
int n,ans; int main(){
freopen("range.in","r",stdin);
freopen("range.out","w",stdout);
n=rd();
for(int i=;i<=n;i++) a[i]=rd();
for(int i=;i<=n;i++){
d[i]=a[i]-a[i-];
if(d[i]>) ans+=d[i];
}
d[n+]=-(<<);
printf("%d\n",ans);
int j=;
for(int i=;i<=n;i++){
if(d[i]==) continue;
while(d[i]!=){
if(d[j]>=){j++;continue;}
d[i]-=;
d[j]+=;
printf("%d %d\n",i,j-);
}
}
return ;
}
【NOIP提高A组模拟2018.8.14】 区间的更多相关文章
- JZOJ 5812. 【NOIP提高A组模拟2018.8.14】 区间
5812. [NOIP提高A组模拟2018.8.14] 区间 (File IO): input:range.in output:range.out Time Limits: 1000 ms Memo ...
- 5820. 【NOIP提高A组模拟2018.8.16】 非法输入(模拟,字符串)
5820. [NOIP提高A组模拟2018.8.16] 非法输入 (File IO): input:aplusb.in output:aplusb.out Time Limits: 1000 ms ...
- 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 ...
- [JZOJ5817] 【NOIP提高A组模拟2018.8.15】 抄代码
Description J 君是机房的红太阳,每次模拟她总是 AK 虐场.然而在 NOIP2117 中,居然出现了另一位 AK 的选手 C 君! 这引起了组委会的怀疑,组委会认为 C 君有抄袭 J 君 ...
- [JZOJ5818] 【NOIP提高A组模拟2018.8.15】 做运动
Description 一天,Y 君在测量体重的时候惊讶的发现,由于常年坐在电脑前认真学习,她的体重有了突 飞猛进的增长. 幸好 Y 君现在退役了,她有大量的时间来做运动,她决定每天从教学楼跑到食堂来 ...
- [jzoj 5782]【NOIP提高A组模拟2018.8.8】 城市猎人 (并查集按秩合并+复杂度分析)
传送门 Description 有n个城市,标号为1到n,修建道路花费m天,第i天时,若gcd(a,b)=m-i+1,则标号为a的城市和标号为b的城市会建好一条直接相连的道路,有多次询问,每次询问某两 ...
- [jzoj 5781]【NOIP提高A组模拟2018.8.8】秘密通道 (最短路)
传送门 Description 有一副nm的地图,有nm块地,每块是下列四种中的一种: 墙:用#表示,墙有4个面,分别是前面,后面,左面,右面. 起点:用C表示,为主角的起点,是一片空地. 终点:用F ...
- [jzoj 5778]【NOIP提高A组模拟2018.8.8】没有硝烟的战争 (博弈论+dp)
传送门 Description 被污染的灰灰草原上有羊和狼.有N只动物围成一圈,每只动物是羊或狼. 该游戏从其中的一只动物开始,报出[1,K]区间的整数,若上一只动物报出的数是x,下一只动物可以报[x ...
- [JZOJ5781]【NOIP提高A组模拟2018.8.8】秘密通道
Description 有一副n*m的地图,有n*m块地,每块是下列四种中的一种:墙:用#表示,墙有4个面,分别是前面,后面,左面,右面.起点:用C表示,为主角的起点,是一片空地.终点:用F表示,为主 ...
随机推荐
- SpringSecurity为项目加入权限控制
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 黑马旅游网案例 Bug集锦
- 关于JS点击button之灵活替换改变内容方法
<p id="demo">JavaScript 能改变 HTML 元素的内容.</p> <script>function myFunction( ...
- NetCore中使用Myrmec
NetCore中使用Myrmec Myrmec 是什么? Myrmec 是一个用于检测文件格式的库,Myrmec不同于其它库或者手写检测代码,Myrmec不依赖文件扩展名(在实际使用中,你的用户很可能 ...
- 面向切面编程 (AOP )的理解
AOP的全称: Aspact Oriented Programming AOP的目标(作用):让我们可以“专心做事” 日志记录,事务处理,异常捕获,缓存操作. AOP原理 将复杂的需求分解出不同 ...
- 洛谷P2062 分队问题(dp)
题意 题目链接 给定n个选手,将他们分成若干只队伍.其中第i个选手要求自己所属的队伍的人数大等于a[i]人. 在满足所有选手的要求的前提下,最大化队伍的总数. 注:每个选手属于且仅属于一支队伍. So ...
- Git中文件属性的变化,被认为是文件有改动
问题描述: 1. 从公司的git服务器上, 下载最新的代码(zip格式), 解压缩出来, 2. 过一段时间, 去执行git pull代码, 出现如下情况: $ git pull Updating ...
- C# 初始学习心情
当听说需要转做.net的时候.内心是忐忑不安的.因为突然从前端转向后端,几乎完全颠倒了...一个注重界面实现功能.一个注重逻辑的开发,然并卵,服从需求吧. 虽说公司需要你转.但是时间是不允许的,所以只 ...
- get_user
Name get_user -- Get a simple variable from user space. Synopsis get_user ( x, ptr); Arguments x ...
- Windows基础环境_安装配置教程(Windows7 64、JDK1.8、Android SDK23.0、TortoiseSVN 1.9.5)
Windows基础环境_安装配置教程(Windows7 64.JDK1.8.Android SDK23.0.TortoiseSVN 1.9.5) 安装包版本 1) JDK版本包 地址: htt ...