NOIP模拟七

最寄的一集,全场就我一个T1没写出来,正式赛要是这样真的就原地爆炸了……
遭报应了

T1

正解dp,珂以贪心,但是数据水,能hack一大堆人。

首先我们珂以得到一些结论:括号加在负号后面才对答案有贡献,题解说的是根据括号层数不超过二来设状态dp转移,但是我们珂以贪心来看。

我们先把所有数都加起来再看哪些是要减去的,我们珂以把连续的正数都缩在一起,这对答案是没有影响的,然后我们去找到把某一段正数给提出来之后让他后面那一段的负数珂以变正所得的最小值,当然也可以就把所有负数减了,来比较最小值。

code

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=114514,M=1919810,inf=1145141919810;
ll n,a[N],ans;
ll sum1,sum2,more=inf;
bool flag;
char c[N];
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin>>n>>a[1];
	ans+=a[1]; c[1]='+';
	for(int i=2;i<=n;++i){
		cin>>c[i]>>a[i];
		ans+=a[i];
		if(c[i]=='-'){
			if(flag) more=min(sum2+sum1,more);
			flag=1,sum1=0;
			sum2+=a[i];
		}
		else sum1+=a[i];
	}
	cout<<ans-min(more,sum2)*2;
	return 0;
}
/*10
1-2+3-4+5-6+7-8+19-10*/ //这个数据能叉一堆人

T2T3T4都不想补/ng

posted @   和蜀玩  阅读(11)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示