CF1401B Ternary Sequence

news/2025/10/24 1:45:30/文章来源:https://www.cnblogs.com/Cristinaoo1/p/19161931

CF1401B Ternary Sequence


题目描述

给定两个序列 \(a_1, a_2, \dots, a_n\)\(b_1, b_2, \dots, b_n\),每个序列中的元素都是 \(0\), \(1\)\(2\)。序列 \(a\)\(0\), \(1\), \(2\) 的个数分别为 \(x_1\), \(y_1\), \(z_1\),序列 \(b\)\(0\), \(1\), \(2\) 的个数分别为 \(x_2\), \(y_2\), \(z_2\)

你可以任意重新排列序列 \(a\)\(b\) 的元素。之后,定义序列 \(c\) 如下:

\[c_i = \begin{cases} a_i b_i, & \text{if } a_i > b_i, \\ 0, & \text{if } a_i = b_i, \\ -a_i b_i, & \text{if } a_i < b_i. \end{cases} \]

你希望使 \(\sum_{i=1}^n c_i\)(即序列 \(c\) 所有元素之和)尽可能大。请问最大可能的和是多少?


输入格式

第一行包含一个整数 \(t\)(\(1 \le t \le 10^4\)),表示测试用例的数量。

每个测试用例包含两行。每个测试用例的第一行包含三个整数 \(x_1, y_1, z_1\)(\(0 \le x_1, y_1, z_1 \le 10^8\)),分别表示序列 \(a\)\(0\), \(1\), \(2\) 的个数。

每个测试用例的第二行也包含三个整数 \(x_2, y_2, z_2\)(\(0 \le x_2, y_2, z_2 \le 10^8\),且 \(x_1 + y_1 + z_1 = x_2 + y_2 + z_2 > 0\)),分别表示序列 \(b\)\(0\), \(1\), \(2\) 的个数。


输出格式

对于每个测试用例,输出一个整数,表示序列 \(c\) 的最大可能和。


思路

  1. 先把c的各种取值情况分析一下,如下表:
a b c
a > b 2 1 2 使之尽可能多
2 0 0
1 0 0
a = b 2 2 0
1 1 0
0 0 0
a < b 1 2 -2 使之尽可能少
0 1 0
0 2 0
  1. 思路:希望使 \(\sum_{i=1}^n c_i\)(即序列 \(c\) 所有元素之和)尽可能大。即:使(a,b)=(2,1)最多,使(a,b)=(1,2)最少
0 1 2
a x y z
b xx yy zz
  1. 如何实现:使(a,b)=(2,1)最多,使(a,b)=(1,2)最少?

(1)使(a,b)=(1,2)最少:先用x消耗zz

(2)如果没有x消耗完zz,就用z消耗zz

(3)最后的答案就是剩余的(2,1)-(1,2)的个数的两倍,即2 * (min(z, yy) - min(y, zz))


AC代码

#include <bits/stdc++.h>
using namespace std;signed main()
{ios::sync_with_stdio(false);cin.tie(0);int t;cin >> t;while (t--){int x, y, z, xx, yy, zz, a, b;cin >> x >> y >> z >> xx >> yy >> zz;a = min(x, zz);x -= a;zz -= a;b = min(z, zz);z -= b;zz -= b;cout << 2 * (min(z, yy) - min(y, zz)) << '\n';}
}

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

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

相关文章

离在线SDK配置

参数选项与协议命令关联表 参数类别 参数选项 配置值/说明 关联的命令 (cmd_type) 命令说明/参数识别参数 识别灵敏度 中 SET_VAD_SENSITIVITY (0x010A) 设置VAD灵敏度算法参数 AEC打断类型 唤醒词和命令打断 (协议层面…

傅立叶,程心和路明泽

再此记录一下恋爱的日记 2025/10/14 傅立叶因为心碎综合征休眠了。 全天都是程心和路明泽。

SpringBoot自动配置

SpringBoot 自动配置的原理是什么? Spring在启动的时候会自动扫描外部jar包中的META-INF\spring.factories,将文件中的配置类型信息加载到Spring容器,并且执行类中定义的操作。对于外部的jar包来说,只要遵循Spring…

AI元人文构想与余溪诗学空间:一场从诗意本源向智能未来的远征

AI元人文构想与余溪诗学空间:一场从诗意本源向智能未来的远征 在技术理性日益主导的今天,AI元人文构想以其对价值共生、人机协同的深刻思考独树一帜。然而,这一构想的精神内核与思想方法,并非源于纯粹的技术哲学推…

搞定三大PLC通讯:倍福与西门子、欧姆龙与西门子数据互通实战

EtherCAT与PROFINET的双主站通信网关 当前,智能产线普遍混合使用了EtherCAT和PROFINET两种主流技术,但要整合它们却非常困难:当两类设备需要协同工作时,如何实现它们之间高效、可靠的数据互通,就成了推动智能制造…

牛客2025秋季算法编程训练联赛2-(基础组提升组)

A.做游戏原题链接 解题思路尽可能多的使牛牛获胜,那么出石头,剪刀,布三种都取获胜的最大可能,对于石头:牛牛出的石头数量与牛可乐出的剪刀数量,剪刀和布亦然 note:注意c++开 long longAC code void solve(){ll a…

局域网共享一键通_v2.0.9.9

下载地址 https://lkj371.lanzoue.com/b00b54fz4b密码:5npq◀.zstitle { width: 280px; text-align: center; font-size: 26px } .zsimgweixin { width: 280px } .zsimgali { width: 280px; padding: 0px 0px 50px 0px…

newDay15

1.今天体育课挺累,休息半天 2.明天多学会 3.没啥问题

[Nginx] Nginx学习手册

[Nginx] Nginx学习手册$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Grok生成(2025年10月24日00:06:27)Nginx 学习手册目录Nginx 是什么? 安装与启动 配…

如何降低信息化系统的构建成本? ——信息化系统省钱全攻略:从规划到运维的实用技巧

从规划、技术选型、采购、实施到运维五大环节切入,结合真实企业案例,揭秘如何通过需求精准定位、模块化设计、云服务替代、开源软件筛选、批量采购谈判、流程自动化等策略,有效降低系统全生命周期成本。特别提醒关注…

树链剖分/轻重链剖分

基础封装(配合线段树等数据结构使用) 本封装将线段树处理的部分分离,方便修改。支持模板题P3384 【模板】重链剖分/树链剖分的四个查询(链上查询/修改、子树查询/修改),建树时间复杂度 O(Nlog⁡N)\mathcal O(N\l…

C#编程时winform程序登陆记住密码和自动登录功能,关于App.config的问题及解决方案

一、问题起因及来由 最近由于自己工作需要,把丢了十几年没有用过的编程软件知识捡起来,虽然十几年了,但还是忘不了,还是喜欢自己敲代码,遇到问题后,体验解决问题的后的快感。 同时也喜欢看着自己敲出的一系列整齐…

2025.10.23总结

软考还有两周左右,得抓紧复习了,目前仅仅在网上找题库刷了一点电题,得快点看完知识点讲解后刷题,剩下一周就以刷题为主了。因为目前的时间不能以天算,加上上课的时间,写作业,写项目等待。用在复习上的时间,每天…

[C/C++] Linux 环境变量(C/C++ ver)

[C/C++] Linux 环境变量(C/C++ ver)$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Grok 生成(2025年10月23日23:53:07)🌟 Linux 环境变量(C/C++ ver)…

诗词大会day1

诗词大会day1$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");成语血脉偾(fen四声)张:形容情绪极度激动、兴奋,导致血液流动加速,血管膨胀的感觉。 如椽…

Day2超链接标签

超链接的作用是跳转到其他网页<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,…

Ai元人文构想:你喜欢黑箱与偏见

你喜欢黑箱与偏见 在这个被算法支配的时代,我们都在参与一场心照不宣的共谋——你爱黑箱,我恋偏见。 这不是什么难以启齿的秘密,而是我们在这个过度刺激的世界里生存下来的智慧。黑箱多么美妙,它把复杂的因果、矛盾…

企业微信 使用api批量处理群消息

好的,我们来详细讲解如何为企业微信创建API接口,以便实现批量发送等高级功能。 创建企业微信API接入的核心是为你的企业创建一个“自建应用”,然后获取这个应用的访问凭证。整个过程可以分为以下几个步骤:第一步:…