题目 题意: 给定n个+号,m个-号,n+m+1个数。任意组合一个后缀表达式,输出最大值。 思路: 凭感觉,南京站签到题做过一个类似的,也是找规律。 这个要求组合后缀表达式,其实是可以任意添加括号的,要是让我输出序列我还真不会,但是求最大值还能操作操作。 1.全是正号,直接输出和即可,没有操作空间,特判增加点骗分的可能性。 2.存在负号,感性来讲负数都可以看作正数。如果只有一个负号,把所有负数扔到括号里就行。而如果有多个负号哩,可以一个负号对应一个负数,最后一个负号对应剩余的负数。如果负号比负数还多,只要把正数也扔到括号里,但是用负号连接,仍然能处理完所有负数。 但是注意两种特殊情况,如果全是负数,就要有一个绝对值最小的数留在外边。如果全是正数,也要有一个最小的数留在外边。 时间复杂度: O(n),我还排了个序,本来没必要的,O(能过)。 代码:
#include
#include
#include
#include
#include
#include
#define mem(a,x) memset(a,x,sizeof(a))
#define fir(i,a,b) for(int i=a;i>n>>m;
ll sum = 0;
ll res = 0;
int cnt = 0;
for(int i=1;i>x;
sum += abs(x);
res += x;
va.push_back(x);
if(x
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?