当前位置: 首页 > news >正文

bzoj3043IncDec Sequence*

bzoj3043IncDec Sequence

题意:

n个数,每次可以将区间l到r里的数+1或-1,问将它们变成同个数的最小操作次数和保证最小操作次数前提下有多少中可能。n≤100000。

题解:

先对原数组差分(得到的数组第一个为原数组第一个元素,之后的元素为原数组相邻元素之差),则原操作变为左右端点对应元素加1减1或减1加1,求最小操作次数使得除第一个元素之外剩下元素均为0。则先将正负数对消,剩下的数可以自己消掉或与第一个数对消,故第一问答案为max(正数之和,负数绝对值之和) 第二问答案为abs(正数之和-负数绝对值之和)+1。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #include <queue>
 5 #define inc(i,j,k) for(int i=j;i<=k;i++)
 6 #define maxn 100010
 7 #define ll long long
 8 using namespace std;
 9 
10 inline ll read(){
11     char ch=getchar(); ll f=1,x=0;
12     while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
13     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
14     return f*x;
15 }
16 int n; ll day,xiy,a,b;
17 int main(){
18     n=read(); a=read(); inc(i,2,n){b=read(); if(b-a>0)day+=(b-a);else xiy+=(a-b); a=b;}
19     printf("%lld\n%lld",max(day,xiy),abs(day-xiy)+1); return 0;
20 }

 

20160929

转载于:https://www.cnblogs.com/YuanZiming/p/5975114.html

相关文章:

  • JDK + Tomcat的安装
  • 交换机生成树协议配置
  • mysql-5.7.9-winx64在windows上安装遇到的一些问题
  • 极光推送
  • 微积分
  • JpaRepository的native insert
  • angularjs基础——控制器
  • 使用Gson排除特定字段
  • 【自用】C# 中图片切换的几种过渡动画特效
  • Java应用线上问题排查的常用工具和方法
  • redhat 安装oracle数据库xe版
  • 解决 com.sun.*包导入错误
  • 马哥2016全新Linux+Python高端运维班第九周作业
  • 【求助】小系统组成大系统所遇到的问题
  • Mysql之mysqlbinlog使用
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • IDEA常用插件整理
  • java取消线程实例
  • java小心机(3)| 浅析finalize()
  • js中forEach回调同异步问题
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Web标准制定过程
  • Yeoman_Bower_Grunt
  • 简单基于spring的redis配置(单机和集群模式)
  • 类orAPI - 收藏集 - 掘金
  • 区块链将重新定义世界
  • 手写一个CommonJS打包工具(一)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • FaaS 的简单实践
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #include到底该写在哪
  • #NOIP 2014#Day.2 T3 解方程
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (多级缓存)缓存同步
  • (二)WCF的Binding模型
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (蓝桥杯每日一题)love
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)插入排序
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)Windows2003安全设置/维护
  • (转)菜鸟学数据库(三)——存储过程
  • (转)创业家杂志:UCWEB天使第一步
  • .net MySql
  • .NET NPOI导出Excel详解
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net流程开发平台的一些难点(1)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /*在DataTable中更新、删除数据*/