第十届蓝桥杯c/c++b组 后缀表达式

linguosen 2019-03-24 原文

第十届蓝桥杯c/c++b组 后缀表达式

刚考完第十届蓝桥杯,觉得很不满意,但考过了也没办法,算了……

还是来说说这届的第九题吧(好像是第九题,有点忘了……)

这道题的标题是后缀表达式。

题目大意说是给n个加号,m个减号,然后再给出n + m + 1个整数,然后就可以组成很多种形式的后缀表达式,求出最大的后缀表达式对应的数值。

比如给出一个加号,一个减号,再给出三个数分别为3, 5, – 1,则当后缀表达式为35+(-1)-时,其值最大,为3 + 5 – (-1)= 9;所以输出9(不知道题意是不是这样,不知道会不会是我看错了。。。。。。。。。考完试严重怀疑自己,权当题意就是如上所述吧)

 

思路:

一开始我的思路是暴力枚举所有后缀表达式,然后求后缀表达式的值,最后再得出最大的值。但是想了想,这样实现起来不仅有点困难,而且复杂度也挺高。

于是我换了个思路:既然我们是求最大值,那为什么一定要用后缀表达式求呢?可不可以考虑以下思路:

为了使得表达式值最大,那么在加一个数时我加上当前最大的数,在减一个数时减去当前最小的数不就可以了吗?(不知道思路对不对,仅仅是作为考完试的总结)

所以,代码如下:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int num[100005];

int main()
{
	int n, m;  //n个加号, m个减号
	cin >> n >> m;
	int count = m + n + 1;   //整数个数 
	for(int i = 0; i < count; i++)
	{
		cin >> num[i];
	}
	sort(num, num + count);
	int sum = num[count - 1];
	int curr = count - 2;
	for(int i = 0; i < n; i++)
	{
		sum += num[curr--];    //尽量加上尽可能大的数
	}
	curr = 0;
	for(int i = 0; i < m; i++)
	{
		sum -= num[curr++];    //尽量减去尽可能小的数
	}
	cout << sum << endl;
	
	
	return 0;
 } 

  我不知道这种思路是否严谨,也不知道我上述的实现是否正确,但是,至少能过一部分样例吧(哪怕过一丢丢应该是可以的)。(也许是我脑抽,也许这道题不会像我想象中这么简单,但是现在头真的很晕,考完试就是这样)

  如果有问题,欢迎提出,我要去面壁思过了。

 

发表于 2019-03-24 14:28 林国森 阅读() 评论() 编辑 收藏

 

版权声明:本文为linguosen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/linguosen/p/10588101.html

第十届蓝桥杯c/c++b组 后缀表达式的更多相关文章

  1. 后缀表达式

    后缀表达式 洛谷模板地址:https://www.luogu.org/problemnew/show/P117 […]...

  2. 【蓝桥杯】2019年第十届蓝桥杯C/C++ B组省赛——I题 后缀表达式

    一道有点小坑的想法题,注意括号可能使符号变号,后缀表达式是略去了括号的存在。 题目: 题解: 这道题目是很容易 […]...

随机推荐

  1. xBIM WeXplorer

       目录     基础 xBIM WeXplorer 简要介绍 xBIM WeXplorer xViewer […]...

  2. gRPC在 ASP.NET Core 中应用学习

    一、gRPC简介:  gRPC 是一个由Google开源的,跨语言的,高性能的远程过程调用(RPC)框架。 g […]...

  3. 30-Tomcat整合到Eclipse – liqiangbk

    30-Tomcat整合到Eclipse 将Tomcat整合到Eclipse中 目录 将Tomcat整合到Ecl […]...

  4. Python 矩阵与矩阵以及矩阵与向量的乘法

    Python 矩阵与矩阵以及矩阵与向量的乘法   import numpy as np numpy模块的arr […]...

  5. 如何破解EXCEL工作表保护密码

    今天同事发了个Excel过来,说是只读不能修改,最后朋友发了个破解EXCEL工作表保护的方法,分享一下。在日常 […]...

  6. Docker网络

        一、概述   docker的网络驱动有很多种方式,安装docker官网给出的网络解决方案就有6种,分别 […]...

  7. mstsc命令详解

    dos命令大全,mstsc远程控制 1: 在xp sp2中用mstsc /console命令可以登录到远程桌面 […]...

  8. 苹果appstore应用名下面的开发者名称填写或修改

      最近上架不小心遇到一个问题,开发者名称写错了,放假前大意了,记录一下修改过程,希望碰到同样问题的伙伴不要要 […]...

展开目录

目录导航