您当前的位置: 首页 >  蓝桥杯

先求一个导

暂无认证

  • 3浏览

    0关注

    291博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第十届蓝桥杯省赛 C(什么找规律)

先求一个导 发布时间:2022-04-07 22:04:39 ,浏览量:3

题目 题意: 给定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             
关注
打赏
1662037414
查看更多评论
0.0928s