题目描述

源代码

思路:
这个题目的一大坑点是后缀表达式是可以加括号的,意思也就是,可以将负号变为正号。
例如:n=1,m=1,数组元素依次为-1,-2,3,最终结果为3-((-1)+(-2))。而不是3+(-1)-(-2)。
明白了这一点我们就要考虑负数和所有数的关系了。
如果有负数存在的话:
①如果负数的个数num不等于n+m+1的话,我们是可以通过加括号的形式,将所有的减号变为加号的。
②如果负数的个数num等于n+m+1的话,肯定会留出一个负数来,无法通过加括号的形式变为正的,那么就只能加上这个负数,贪心去想,肯定是负数中最大的那个。
如果说没有负数的话,那么只能减去最小的那个数,剩下的就可以通过加括号的形式变为加了。

#include <iostream>
#include <algorithm>
using namespace std;
long long a[1000005];
long long sum;
int funum;
int main() {int n,m;cin>>n>>m;for(int i=0;i<n+m+1;i++){cin>>a[i];sum+=a[i];if(a[i]<0) funum++;}sort(a,a+n+m+1);if(m==0) return sum;else {if(funum){if(funum!=n+m+1) for(int i=0;i<funum;i++) sum-=2*a[i];else for(int i=0;i<funum-1;i++) sum-=2*a[i];}else{for(int i=0;i<m;i++) sum-=2*a[i];}}cout<<sum;return 0;
}

蓝桥杯2019年第十届C/C++省赛B组第九题-后缀表达式相关推荐

  1. [蓝桥杯]2019年第十届省赛真题C/C++ B组 填空+大题

    第十届蓝桥杯省赛题目 填空A:组队 填空B:年号字串 填空C:数列求值 填空 D: 数的分解 填空 E: 迷宫 大题F:特别数的和 大题G:完全二叉树的权值 大题H:等差数列 大题I-后缀表达式 填空 ...

  2. 题目 2311: 蓝桥杯2019年第十届省赛真题-Fibonacci 数列与黄金分割

    题目 Fibonacci 数列是非常著名的数列: F[1] = 1,F[2] = 1, 对于 i > 3,F[i] = F[i − 1] + F[i − 2] Fibonacci 数列有一个特殊 ...

  3. [蓝桥杯][2019年第十届真题]扫地机器人(二分+贪心)

    题目描述 小明公司的办公区有一条长长的走廊,由 N 个方格区域组成,如下图所 示. 走廊内部署了 K 台扫地机器人,其中第 i 台在第 Ai 个方格区域中. 已知扫地机器人每分钟可以移动到左右相邻的方 ...

  4. [蓝桥杯][2019年第十届真题]糖果(状压dp)

    题目描述 糖果店的老板一共有 M 种口味的糖果出售.为了方便描述,我们将 M 种 口味编号 1 ∼ M. 小明希望能品尝到所有口味的糖果.遗憾的是老板并不单独出售糖果,而 是 K 颗一包整包出售. 幸 ...

  5. [蓝桥杯][2019年第十届真题]修改数组(并查集)

    题目描述 给定一个长度为 N 的数组 A = [A1, A2, · · · AN ],数组中有可能有重复出现 的整数. 现在小明要按以下方法将其修改为没有重复整数的数组.小明会依次修改 A2,A3,· ...

  6. [蓝桥杯][2019年第十届真题]等差数列

    题目描述 数学老师给小明出了一道等差数列求和的题目.但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数. 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有 几项? 输入 ...

  7. [蓝桥杯][2019年第十届真题]外卖店优先级(模拟)

    题目描述 "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ N.每家外卖店都有 一个优先级,初始时 (0 时刻) 优先级都为 0. 每经过 1 个时间单位,如果外卖店没有订单 ...

  8. [蓝桥杯][2019年第十届真题]后缀表达式(正解!!)

    题目描述 给定 N 个加号.M 个减号以及 N + M + 1 个整数 A1, A2, · · · , AN+M+1,小 明想知道在所有由这 N 个加号.M 个减号以及 N + M + 1 个整数凑出 ...

  9. [蓝桥杯][2019年第十届真题c/c++B组]迷宫(寻找路径bfs及文件输入输出)

    试题 E: 迷宫 1.问题描述 2.思路详解 3.AC代码 1.问题描述 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方. 010000 000100 00100 ...

  10. [蓝桥杯][2019年第十届真题c/c++B组]后缀表达式(解释sum -= 2*a[i])

    后缀表达式 给定 N 个加号.M 个减号以及 N + M + 1个整数 A1 , A2 , · · · , AN+M+1 ,小明想知道在所有由这 N 个加号.M 个减号以及 N + M + 1个整数凑 ...

最新文章

  1. OpenCV计算机视觉编程攻略之行人检测
  2. JAVA中的字符串操作
  3. 分布式事务解决方案之 Alibaba Seata1.3.0 seata-server 1.3.0
  4. ubuntu 安装截图工具 Shutter,并设置快捷键 Ctrl+Alt+A
  5. 用css3实现ps蒙版效果+动画
  6. Percona XtraDB Cluster(PXC) Mysql 集群
  7. java IO流小结
  8. Docker安装QuestDB教程
  9. 111 《深入理解Java虚拟机》读书笔记
  10. 【java】抽象类下有两个具体子类,子类下有两个实例
  11. python os.access_Python用access判断文件是否被占用的实例方法
  12. windows应用程序签名
  13. STM32 磁场传感器HMC5883
  14. 2018年下半年系统集成项目管理工程师真题及答案解析
  15. linux计算器shell,linux – Bash Shell中的BMI计算器
  16. 通用文档信息提取模型浅析
  17. JAVA打印中文乱码问题
  18. WORD VBA实现查找带格式的文字并复制到特定地方
  19. 集成百度街景报错Error inflating class com.baidu.lbsapi.panoramaview.PanoramaView
  20. 不是技术也能看懂云计算,大数据,人工智能

热门文章

  1. 2018ICPC赛后总结
  2. Gentoo解决Windows系统txt文本中文乱码问题
  3. (转载)Sybase:bcp命令参考
  4. Sharepoint 2010 备份与恢复 (二)
  5. 面试者应向公司问什么问题?
  6. 将TQ2440的ADS测试程序放到MDK下或Ubuntu下开发
  7. DOS命令大全(经典收藏)【运行CMD后的命令】
  8. [Remoting]在.NET環境實作Flex 3 Remoting - (2) Flex Builder 環境設定
  9. 二进制,八进制十进制十六进制之间数据转换
  10. 强的离谱!串烧70+个Transformer模型,涵盖CV、NLP、金融、隐私计算...