当前位置: 首页 > news >正文

StarryCoding-35:鼠鼠我鸭

题目描述

在一个叫做酱西功爷枝叶鸡树学院的地方有𝑛n只小动物,要么是鼠鼠,要么是鸭鸭,从11到𝑛n编号,每只小动物有个体重𝑎𝑖ai​。

在这个学校里,存在一种神奇的魔法,可以将编号位于某个区间[𝑙,𝑟][l,r]内的所有鼠鼠都变为鸭鸭,鸭鸭都变为鼠鼠(魔法并不会改变体重)。

现在你可以施放这个魔法至多11次。(也可以不施放)

问最终鸭鸭的总重量最多是多少?

输入格式

第一行一个整数𝑇T表示样例个数。(1≤𝑇≤10)(1≤T≤10)

对于每个样例:

第一行一个整数𝑛n表示小动物的个数。(1≤𝑛≤105)(1≤n≤105)

第二行𝑛n个整数,表示第𝑖i个小动物的类型。00表示鼠鼠,11表示鸭鸭。

第三行𝑛n个整数,表示第𝑖i个小动物的体重𝑎𝑖ai​。(1≤𝑎𝑖≤109)(1≤ai​≤109)

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5+9;
ll a[N],w[N];//小动物数组、体重数组
ll prefix[N];//前缀和数组void func(){int n;cin>>n;//输入小动物和体重for(int i = 1; i <= n; ++i) cin >> a[i];for(int i = 1; i <= n; ++i) cin >> w[i];for(int i = 1; i <= n; ++i){if(a[i] == 1){//将鸭鸭的体重变成负的,方便对鼠鼠的体重做前缀和计算prefix[i] = prefix[i-1] + (-1) * w[i];}else{//鼠鼠的体重就是正常的数prefix[i] = prefix[i-1] + w[i];}}ll ess = 0;//ess就是统计施放魔法前的鸭鸭总体重for(int i = 1; i <= n; ++i) ess += a[i] * w[i];ll m = 0, fix = 0;for(int i = 1; i <= n; ++i){//fix是用来记录最大的前缀和,每次都更新//施放魔法后,用fix可以求出到当前的动物为止,最大鸭鸭体重区间的总值fix = max(fix, prefix[i] - m);//m是用来记录当前的前缀和之前的最小的前缀和数值,每次都更新m = min(m, prefix[i]);}cout << ess + fix << '\n';
}int main(){ios::sync_with_stdio(0),cout.tie(0),cin.tie(0);int T;cin >> T;while(T--){func();}return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言开关迷宫
  • 物理机 gogs+jenkins+sonarqube 实现CI/CD
  • Ubuntu转竖屏,文件解锁和查看mac地址命令记录
  • 力扣141环形链表问题|快慢指针算法详细推理,判断链表是否有环|龟兔赛跑算法
  • ECCV2024|LightenDiffusion 超越现有无监督方法,引领低光图像增强新纪元!
  • Jsoup爬虫——自学习梳理
  • Connecting weaviate with langflow across docker containers
  • 【OpenCV C++20 学习笔记】调节图片对比度和亮度(像素变换)
  • STM32-寄存器DMA配置指南
  • Web响应式设计———1、Grid布局
  • 算法学习笔记(8.8)-多重背包
  • 【运维笔记】数据库无法启动,数据库炸后备份恢复数据
  • 深入理解JS中的发布订阅模式和观察者模式
  • Windows系统设置暂停更新,暂停时间可达3000天,“永久”暂停更新,亲测有效
  • 企业产品网络安全建设日志0725
  • [译]前端离线指南(上)
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • httpie使用详解
  • Javascript弹出层-初探
  • Python利用正则抓取网页内容保存到本地
  • web标准化(下)
  • Xmanager 远程桌面 CentOS 7
  • 第十八天-企业应用架构模式-基本模式
  • 复习Javascript专题(四):js中的深浅拷贝
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何设计一个微型分布式架构?
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 通信类
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 云大使推广中的常见热门问题
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (WSI分类)WSI分类文献小综述 2024
  • (超详细)语音信号处理之特征提取
  • (十六)视图变换 正交投影 透视投影
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • **PHP二维数组遍历时同时赋值
  • *Django中的Ajax 纯js的书写样式1
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .Net 4.0并行库实用性演练
  • .NET C# 操作Neo4j图数据库
  • .NET CLR基本术语
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net framework4与其client profile版本的区别
  • .Net IOC框架入门之一 Unity
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • @Autowired注解的实现原理
  • @Value读取properties中文乱码解决方案
  • [20180224]expdp query 写法问题.txt
  • [ACTF2020 新生赛]Include
  • [C#]使用DlibDotNet人脸检测人脸68特征点识别人脸5特征点识别人脸对齐人脸比对FaceMesh
  • [echarts] y轴不显示0