CF1945题解

news/2024/11/13 4:17:20/文章来源:https://www.cnblogs.com/zcxnb/p/18536420

CF1945A

贪心简单题
先把b自己内部组合,再考虑与c组合

CF1945B

简单题数学题

因为在0m的时间内一定能覆盖所有的情况,所以对0m的时间内最多烟花数进行小学2年纪计算即可

CF1945C

简单题

枚举每一个断点,记录答案即可

CF1945D

挺好玩的一道贪心题。

转化一下式子,我们发现 \(a[i],b[i]\) 的选择过程类似于一个上下反复横跳的最终的选取停止在 \(a\) 数组的一个过程,如下图。

注意到对于一个 \(j\) 位置,我们只会在 \(a[j]\)\(b[j]\) 中选一个对答案产生贡献,且在 \(m+1,m+2,\cdots, n\) 之间选哪一个数并不会对之后的决策产生影响(无后效性)。

因为在 \(m+1,m+2,\cdots, n\) 之间我们每个选择是独立的,所以在 \(m+1,m+2,\cdots, n\) 之间直接贪心,对答案的贡献即为 \(\sum_{i=m+1}^n \min\{a[i],b[i]\}\)

那么在 \(1,2,\cdots,m\) 这一段对答案的贡献就显而易见了,因为在这一段中只要选择了 \(a[j]\) 就停止选择了,所以答案的组成既是一段 \(b_{j+1},b_{j+2} ,\cdots ,b_m\) 再加上 \(a_j\)

所以只需要统计一下 \(\min_{i=1}^m\{\sum_{j=i+1}^mb[j]+a[i]\}\) 即可

最终答案即是这两段贡献的加和

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5,inf=1e18+5;
int n,m,t;
int a[N],b[N];
signed main(){scanf("%lld",&t);while(t--){scanf("%lld%lld",&n,&m);for(int i=1;i<=n;i++){scanf("%lld",&a[i]);}for(int i=1;i<=n;i++){scanf("%lld",&b[i]);}int cnt=0,ans=inf;for(int i=n;i>=1;i--){if(i>m){if(a[i]>b[i]){cnt+=b[i];}else{cnt+=a[i];}}else{ans=min(ans,cnt+a[i]);cnt+=b[i];}}printf("%lld\n",ans);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/829212.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中实现微信支付

目录一,准备环境1,要有微信公众号,商户平台账号2,支持的支付方式有 3,备案域名 一,扫码支付如图1所示,使用模式一生成支付二维码 2,使用模式二生成支付二维码二,使用JSAPI发起微信支付 回到顶部 一,准备环境#1,要有微信公众号,商户平台账号# https://pay.weixin.…

Docker版的应用不要连127.0.0.1

昨晚一直在配置docker 版的nacos,使用如下命令,然后一直启动不成功 docker run -d --env MODE=standalone --name nacos --restart=always -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_DATABASE_NUM=1 -e MYSQL_SERVICE_HOST=127.0.0.1 -e MYSQL_SERVICE_PORT=3306 -e MYS…

macOS 如何优雅地配置Java开发环境.md

一、准备 确保 HomeBrew 存在 以下命令即可安装 HomeBrew export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git" export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git" export HOMEBREW_API_DOMAIN=&quo…

焕然一新!TinyVue 组件库 UI 大升级,更符合现代的审美!

你好,我是 Kagol,个人公众号:前端开源星球。 自从 TinyVue 组件库去年开源以来,一直有小伙伴反馈我们的 UI 不够美观,风格陈旧,不太满足现阶段审美。“TinyVue 给我的感觉就是一个没啥审美能力、但是很努力的老程序员开发的”看到这个评价,我是哭笑不得,一方面对小伙伴…

IDEA2023应用第一部分 环境配置(摘自CSDN 作者:生活需要淡定)

第一部分 环境配置 1.1 语言设置 1.打开IntelliJ IDEA,‌进入菜单栏的File -> Settings。‌ 2.在弹出的设置窗口中,‌点击Plugins,‌然后在搜索框输入Chinese。‌ 3.找到Chinese (Simplified) Language插件,‌点击Install进行安装。‌ 4.安装完成后,‌重启IntelliJ IDE…

QT:控制台数据新增、删除、查询、更新

基于控制台的程序,使用SQLite数据库完成大批量数据的增加、删除、更新和查询操作并输出。效果图: CH1301.pro 详细代码QT -= gui QT += sqlCONFIG += c++11 console CONFIG -= app_bundle# The following define makes your compiler emit warnings if you use # any Qt feat…

【人脸伪造检测】Spatial-Phase Shallow Learning: Rethinking Face Forgery Detection in Frequency Domain

一、研究动机[!note]创新点:利用相位谱实现伪造检测,并且证明了卷积模型可以提取隐性特征。由于上采样是伪造模型的关键步骤,这篇论文通过相位信息检测上采样的伪影。对比之前的频率模型: F3-Net:通过离散余弦变换后的统计特征实现伪造检测二、检测模型可学习的知识点[!ti…

CF413

前言 我是小惰惰,所以我只写一套题,去seesee大家的题解 CF413A 扫一遍 如果他的最大值>max||最小值<min 不行 如果他不等于 max min 的数 >n-m 不行 CF314B 直接记录每个聊天室法了多少条消息,然后计算每个人的时候减去他法的就行了 CF314C 反正都是全部翻倍,所以…

全面开启双拼

简单说说各种设备怎么开启双拼简单说说各种设备怎么开启双拼 ‍‍ iOS 其实添加双拼键盘,和添加五笔键盘差不多,具体可以看《启用 iPhone 原生的五笔输入》,这里就不赘述了 你也可以安装流行输入法,然后切换为双拼。 ‍ Android 貌似没有原生的双拼,可以安装下主流的输入法…

终于搞全了:GPIO/ADC/LED/I2C/SPI/USB…

合宙低功耗4G模组经典型号Air780E,支持两种软件开发方式: 一种是传统的AT指令;一种是基于模组做Open开发。 传统AT指令的开发方式,合宙模组与行业内其它模组品牌在软件上区别不大,在硬件功耗上更有优势; 模组Open开发,合宙采用的是LuatOS方式,相对C-SDK入门更简单,开发…

20-数据库系统安全

20.1 概况 1)概念 数据库安全是指数据库的机密性、完整性、可用性能够得到保障,其主要涉及数据库管理安全、数据安全、数据库应用安全以及数据库运行安全。 2)威胁授权的误用 逻辑推断和汇聚:利用逻辑推理,把不太敏感的数据结合起来可以推断出敏感信息。进行逻辑推断也可能…

来了,超全MQTT实用示例

Air201快速入门之MQTT示例合宙Air201资产定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。 内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超低功耗的精…