3369: [Usaco2004 Feb]Pesky Parentheses 烦人括号

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 14  Solved: 7
[Submit][Status][Discuss]

Description

    奶牛们只学过加和减.她们写下了含有N(1≤N≤10)项的表达式,比如:
    1+4 -2-1+10 -6
贝茜认识到地加上不同的括号,表达式会有不同的值.请帮她计算出表达示的最大值.

Input

    第1行:整数N;
    第2到N+1行:每行是一个整数K(-100≤K≤100),表示表达式中的一项.正整数K表
示+K,负整数K表示-K.

Output

    一个整数,通过适当地加括号使表达示得到的最大值.

Sample Input

6
1 4 -2 -1 10 -6

Sample Output

20

感觉很难。。实际是道水题,n只有10,但其实复杂度也只有O(n²)

对于任意式子,如果在某个负号后面打上括号,那么下一个负号后面所有的数字都一定可以弄成正的

例如"1+2-3+4-5-6+7-8+9-10",如果在3前面打上括号,那么剩下的我只需要"1+2-(3+4-5-(6+7)-(8+9)-10)"这样打扩号就行了(把最外层括号里面所有连续的加号全部扩起来)一定是最优

即暴力枚举从哪个位置打第一个左括号,那么后面的括号位置确定

求出中间的最值就行了

#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
int a[1005], R[1005];
int main(void)
{int n, i, j, now, sum, ans;scanf("%d", &n);for(i=1;i<=n;i++)scanf("%d", &a[i]);ans = 0;for(i=n;i>=1;i--){R[i] = R[i+1]+abs(a[i]);ans += a[i];}sum = 0;for(i=1;i<=n;i++){sum += a[i];if(a[i]<0){now = sum;for(j=i+1;j<=n;j++){if(a[j]<0){now += R[j];ans = max(ans, now);break;}now -= abs(a[j]);}}}printf("%d\n", ans);return 0;
}

bzoj 3369: [Usaco2004 Feb]Pesky Parentheses 烦人括号(思维题)相关推荐

  1. bzoj 3367: [Usaco2004 Feb]The Big Game 球赛(DP)

    3367: [Usaco2004 Feb]The Big Game 球赛 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 56  Solved: 45 ...

  2. bzoj 3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助(set+贪心)

    3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助 Time Limit: 10 Sec  Memory Limit: 128 MB S ...

  3. bzoj 3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦(加权并查集)

    3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 121  ...

  4. bzoj 3365: [Usaco2004 Feb]Distance Statistics 路程统计【容斥原理+点分治】

    统计在一个root下的两个子树,每个子树都和前面的运算一下再加进去对于这种需要排序的运算很麻烦,所以考虑先不去同子树内点对的算出合法点对个数,然后减去每一棵子树内的合法点对(它们实际上是不合法的,相当 ...

  5. 带权并查集【bzoj3362】: [Usaco2004 Feb]Navigation Nightmare 导航噩梦

    [bzoj]3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦 ​ 农夫约翰有N(2≤N≤40000)个农场,标号1到N,M(2≤M≤40000)条的不同的垂 ...

  6. 安卓网页广告拦截_拦截烦人的网页广告,增加上网体验

    本号所有资源版权归原作者所有,如有侵权请加小编微信删除.本号免费分享,仅供学习交流,下载后24小时内请自觉删除,切勿用于商业用途,否则后果自负! 今天重新整理分享几大主流浏览器和IE浏览器拦截广告的方 ...

  7. Jmeter之解决烦人的中文乱码问题

    Jmeter之解决烦人的中文乱码问题 参考文章: (1)Jmeter之解决烦人的中文乱码问题 (2)https://www.cnblogs.com/liulinghua90/p/6973289.htm ...

  8. windows7关闭计算机对话框,电脑弹出对话框很烦人怎么办?win7禁止对话框弹出的方法...

    在使用win7系统的过程中,如果系统中出现了错误或者是有某种提示的时候,,系统就会自动弹出一个提示框来提醒用户,但是有时候一些无关紧要的提示也会弹出来,这就非常的烦人了,所以有的用户想设置禁止对话框弹 ...

  9. 推送通知_手机总是收到烦人的推送,教你几招,彻底摆脱无用通知

    相信许多人都有过这样的情况,在使用手机时总是会经常弹出一些无用的通知,就算已经关掉的APP还是会接收一些垃圾消息,让人烦躁不已.那么,怎样才能彻底摆脱这些不必要且招人烦的推送呢,小编今天就教你两招,让 ...

最新文章

  1. 一个神经元顶5到8层神经网络,深度学习的计算复杂度被生物碾压了
  2. 历史为什么丑化隋朝_隋朝于中国历史,到底处于什么样的地位,为何它一直被低估...
  3. 【转载】ShowWindow函数
  4. C/C++入门易错点及常用小技巧
  5. Edittext焦点处理
  6. Java1.8接口方法都是抽象_抽象类和接口的区别以及jdk1.8之后接口里面可以实现方法...
  7. 2021年qs世界大学计算机科学排名,2015年QS世界大学计算机专业排名
  8. Docker | 第四章:Dockerfile简单介绍及使用
  9. Android 学习之Fragment的创建
  10. axis wsdl2java_AXIS1.4 客户端 wsdl2java 使用方法
  11. MATLAB2017安装VLFeat
  12. 单片机c语言 一小时,1小时单片机C语言入门..doc
  13. 最简单的正交试验教程
  14. 计算机视觉 -- Homography单应性矩阵
  15. 从入门到精通零知识证明与zkSNARK
  16. 论文阅读——Globally and Locally Consistent Image Completion
  17. html5 特效 banner,精品配饰活动banner html5特效制作教程
  18. 3D游戏之父--John Carmack连载系列(四)
  19. CSS控制背景颜色和背景图像的方法
  20. 通信领域的dB计量单位

热门文章

  1. python画三维图-Python使用matplotlib绘制三维图形示例
  2. python使用缩进来体现-Python使用缩进来体现代码之间的逻辑关系。
  3. python爬虫代码-python网络爬虫源代码(可直接抓取图片)
  4. 【原创】3大主流的移动应用方式APP开发姿势解读
  5. 【linux笔记】secureCRT使用
  6. 【java笔记】线程(3):Thread类的常用方法
  7. LeetCode 530二叉搜索树的最小绝对差
  8. 火狐 mysql插件_火狐firebug和firepath插件安装方法(最新)
  9. 假设一个进程的页表如下所示_理解进程的新建和执行过程
  10. ln命令:软链接建立与删除