bzoj 3369: [Usaco2004 Feb]Pesky Parentheses 烦人括号(思维题)
2018-03-18 19:01
531 查看
3369: [Usaco2004 Feb]Pesky Parentheses 烦人括号
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 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
61 4 -2 -1 10 -6Sample 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;
}
相关文章推荐
- LCA【bzoj3364】 [Usaco2004 Feb]Distance Queries 距离咨询
- BZOJ3364: [Usaco2004 Feb]Distance Queries 距离咨询
- BZOJ 3367: [Usaco2004 Feb]The Big Game 球赛( dp )
- 【bzoj3365】[Usaco2004 Feb]Distance Statistics 路程统计 点分治
- [BZOJ2684][USACO 2004 FEB]距离询问
- bzoj 3366: [Usaco2004 Feb]Breeding 奶牛饲育
- bzoj 3363: [Usaco2004 Feb]Cow Marathon 奶牛马拉松 树的直径
- 带权并查集【bzoj3362】: [Usaco2004 Feb]Navigation Nightmare 导航噩梦
- bzoj 3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助(set+贪心)
- bzoj3362[Usaco2004 Feb]Navigation Nightmare 导航噩梦(带权并查集)
- 树的直径 【bzoj3363】[Usaco2004 Feb]Cow Marathon 奶牛马拉松
- 【bzoj3362/3363/3364/3365】[Usaco2004 Feb]树上问题杂烩 并查集/树的直径/LCA/树的点分治
- BZOJ_3362_[Usaco2004 Feb]Navigation Nightmare 导航噩梦_并查集
- LCA【bzoj3364】: [Usaco2004 Feb]Distance Queries 距离咨询
- bzoj 3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助 二分
- POJ 1987 BZOJ 3365 USACO 2004 Feb Distance Statistics 路程统计 点分治
- BZOJ 3364: [Usaco2004 Feb]Distance Queries 距离咨询
- BZOJ_3365_[Usaco2004 Feb]Distance Statistics 路程统计&&POJ_1741_Tree_点分治
- bzoj3362[Usaco2004 Feb]Navigation Nightmare 导航噩梦
- bzoj 3364: [Usaco2004 Feb]Distance Queries 距离咨询 LCA