题目简化和分析:

给您一个序列,您要在其中选择若干个数使得:

  • 相邻两数异号
  • 长度最大,总和最大

我们可以牢牢抓住长度且总和最大,这一特性。

说明我们必须在每一个连续的同号的子串中被迫选择最大的,以满足这一属性。

例如,样例 \(1,2,3,-1,2\) 被我们分割成了 \(1,2,3\) 和 \(-1,-2\) 两个子串,为满足最大从中选择 \(3\) 和 \(-1\) 两个数。

本题涉及算法:贪心。

Solution:

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef double db; const int N=2e5+50;
const int M=1e5+50; inline ll read(){
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
} ll t,n;
ll a[N]; int main()
{
t=read();
while(t--){
n=read();
for(int i=1;i<=n;++i) a[i]=read();
ll l=a[1]>0?1:-1,ans=0,maxn=a[1];
for(int i=2;i<=n;++i){
ll res=a[i]>0?1:-1;
if(res==l) {
maxn=max(maxn,a[i]);
}else{
ans+=maxn;
maxn=a[i];
l=res;
}
}
ans+=maxn;
printf("%lld\n",ans);
}
return 0;
}

CF1343C的更多相关文章

  1. CF #636 (Div. 3) 对应题号CF1343

    unrated 选手悠闲做题,然后只做出四个滚蛋了 符合 div3 一贯风格,没啥难算法 E最后就要调出来了,但还是赛后才A的 CF1343A Candies 传送门 找到一个 \(x\),使得存在一 ...

随机推荐

  1. 统信UOS系统开发笔记(七):在统信UOS系统上使用linuxdeployqt发布qt程序

    前言   在ubuntu上发布qt程序相对还好,使用脚本,但是在统信UOS麒麟上发布的时候,因为银河麒麟等不同版本,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdep ...

  2. 隐藏tkinter弹出的创库

    1 import tkinter as tk 2 root = tk.Tk() 3 root.withdraw()

  3. NOI2023 题解

    打的太 shaber 了,于是补补题. D1T1 扫描线. 首先我们可以容斥一下,答案为被一种操作覆盖到的减去被两种操作覆盖到的加上被三种操作覆盖到的. 首先考虑只被一种操作覆盖到的,这很简单,直接上 ...

  4. 微服务项目使用RabbitMQ

    微服务项目使用RabbitMQ 很久未用RabbitMQ了,根据网上的Demo,大多数是一个服务包含所有的生产者和消费者和配置,当自己去搭建服务的时候,还需要一些思考各种包的划分.无法无脑CV大法,所 ...

  5. 联通光猫获取超级管理员密码,联通宽带逻辑ID 获取

    首先使用普通账户登录然后访问这个链接 http://192.168.1.1/backpresettings.conf 保存backpresettings.conf 打开文件就可以看到 cuadmin ...

  6. 使用MediatR和FluentValidation实现CQRS应用程序的数据验证

    本文将重点介绍如何通过MediatR的管道功能将FluentValidation集成到项目中实现验证功能. 什么是CQRS? CQRS(Command Query Responsibility Seg ...

  7. LDAP:如何在windows系统下安装LDAP及连接测试

    1.LDAP介绍 LDAP是一个基于X.500标准的轻量目录访问协议,与X.500不同,LDAP协议支持TCP/IP连接.全称为Lightweight Directory Access Protoco ...

  8. 论文解读(TAMEPT)《A Two-Stage Framework with Self-Supervised Distillation For Cross-Domain Text Classification》

    论文信息 论文标题:A Two-Stage Framework with Self-Supervised Distillation For Cross-Domain Text Classificati ...

  9. .NET 操作 TDengine .NET ORM

    TDengine 是国内比较流的时序库之一,支持群集并且免费,在.NET中资料比较少,这篇文章主要介绍SqlSugar ORM来操作TDengine 优点: 1.SqlSugar支持ADO.NET操作 ...

  10. Azure Storage 系列(八)存储类型细化分类说明

    一,引言 Azure 存储账户功能经过官方改进迭代后,在创建的时候,存储账户的类型被分为两大类: 1)general-purpose v2 account(标准常规用途v2) Blob 存储,队列存储 ...