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

第十四届蓝桥杯 三国游戏

一开始的思路就是想着暴力,但是呢,如果真的用暴力一个一个列的话,连30%的数据都搞定不了,所以这里需要考虑别的办法。

这道题的思路就是贪心。

我们这样想:既然要满足至少一个国X>Y+Z,那么我们何不变成X-Y-Z>0呢?这样可能会更好想一点。我们就这样存储每一个事件发生之后的差,然后进行排序。

注意,这里的排序是最重要的一步,我们进行排序的目的就是为了找出最合适的选择的个数。

也就是说,我们从大的差值开始往下累加,这个时候和可能会变小,也可能会变大,取决于发生这件事之后的差值是如何的。所以,这就是一种贪心的思想。

注意,我们有三个国,所以要依次算出每个国赢的时候最多发生了多少个事件,所以需要比较3次,看看哪一个国赢的时候发生的事件最多。

上代码:

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<cstdlib>
#include<cmath> 
#include<vector>
#include<algorithm>
#include<stack>
#include<queue>
#include<sstream>
#include<map>
#include<limits.h>
#include<set>
#define MAX 100010
#define _for(i,a,b) for(int i=a;i<(b);i++)
#define ALL(x) x.begin(),x.end()
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
LL n, m, counts, num;
LL a[MAX];
LL b[MAX];
LL c[MAX];
LL res = INT_MIN;
bool cmp(LL a, LL b)
{return a >= b;
}
LL solve(LL a[],LL b[], LL c[]) {LL cnt = 0;vector<LL>tmp;for (int i = 0; i < n; i++) {tmp.push_back(a[i] - b[i] - c[i]);//存储差值}sort(tmp.begin(), tmp.end(), cmp);//对各个事件之后的差值进行排序LL sum = 0;for (int i = 0; i < n; i++) {if (sum + tmp[i] > 0) {//从最大的差值开始累加,满足条件那么就是一个事件,cnt+1cnt++;sum += tmp[i];}else break;}return cnt;
}
int main() {ios::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);cin >> n;for (int i = 0; i < n; i++)cin >> a[i];for (int i = 0; i < n; i++)cin >> b[i];for (int i = 0; i < n; i++)cin >> c[i];res = solve(a, b, c);//对于a赢时发生的最多事件res = max(res, solve(b, c, a));//b赢时发生的最多事件,后面两个的顺序是无所谓的。res = max(res, solve(c, b, a));//c赢时发生的最多事件。cout << res;return 0;
}

相关文章:

第十四届蓝桥杯 三国游戏

一开始的思路就是想着暴力&#xff0c;但是呢&#xff0c;如果真的用暴力一个一个列的话&#xff0c;连30%的数据都搞定不了&#xff0c;所以这里需要考虑别的办法。 这道题的思路就是贪心。 我们这样想&#xff1a;既然要满足至少一个国X>YZ&#xff0c;那么我们何不变成…...

数据结构——通讯录项目

1.通讯录的介绍 顺序表是通讯录的底层结构。 通讯录是将顺序表的类型替换成结构体类型来储存用户数据&#xff0c;通过运用顺序表结构来实现的。 用户数据结构&#xff1a; typedef struct PersonInfo {char name[12];char sex[10];int age;char tel[11];char addr[100]; }…...

学点Java打小工_Day4_数组_冒泡排序

1 数组基本概念 程序算法数据结构 算法&#xff1a;解决程序的流程步骤 数据结构&#xff1a;将数据按照某种特定的结构来存储 设计良好的数据结构会导致良好的算法。 ArrayList、LinkedList 数组是最简单的数据结构。 数组&#xff1a;存放同一种类型数据的集合&#xff0c;在…...

内存分配方式?

内存分配方式主要有三种&#xff1a; 静态存储区分配&#xff1a;这种方式在程序编译的时候就已经分配好内存&#xff0c;并且这块内存在程序的整个运行期间都存在。全局变量和静态变量通常就是在静态存储区分配的。这种分配方式效率高&#xff0c;因为内存在程序开始执行前就已…...

2024/3/17周报

文章目录 摘要Abstract文献阅读题目引言模型架构编码器和解码器堆栈AttentionPosition-wise Feed-Forward NetworksEmbeddings and SoftmaxPositional Encoding 实验数据实验结果 深度学习TransformerEncoderDecoder 总结 摘要 本周阅读了Transformer的开山之作《Attention Is…...

函数连续性和Lipschitz连续性

摘要&#xff1a; 直观上&#xff0c;Lipschitz连续性的含义是函数图像的变化速度有一个全局的上限&#xff0c;即函数的增长速率不会无限增加。这种性质确保了函数在任何地方都不会过于陡峭&#xff0c;有助于分析函数的行为&#xff0c;并且在优化、动力系统理论、机器学习等…...

Qt 鼠标滚轮示例

1.声明 void wheelEvent(QWheelEvent *event) override;2.实现&#xff08;方便复制、测试起见用静态变量&#xff09; #include <mutex> void MainWindow::wheelEvent(QWheelEvent *event) {static QLabel *label new QLabel("Zoom Level: 100%", this);st…...

【Unity】进度条和血条的三种做法

前言 在使用Unity开发的时候&#xff0c;进度条和血条是必不可少的&#xff0c;本篇文章将简单介绍一下几种血条的制作方法。 1.使用Slider Slider组件由两部分组成&#xff1a;滑动区域和滑块。滑动区域用于显示滑动条的背景&#xff0c;而滑块则表示当前的数值位置。用户可…...

多人聊天室 (epoll - Linux网络编程)

文章目录 零、效果展示一、服务器代码二、客户端代码三、知识点1.connect()2.socket()3.bind()4.send()5.recv() 四、改进方向五、跟练视频 零、效果展示 一个服务器作为中转站&#xff0c;多个客户端之间可以相互通信。至少需要启动两个客户端。 三个客户端互相通信 一、服务…...

vite配置

"vite": "^5.1.4" resolve.alias&#xff1a;配置别名 1、执行npm install -D types/node 或者 yarn add types/node -D 2、以下配置代表访问src时可以用“”代替 resolve: {alias: {"": path.resolve(__dirname, "./src"),},}, 使…...

服务器生产环境问题解决思路

游戏服务器开发节奏比较快,版本迭代很频繁,有一些项目甚至出现了周更新(每周准时停服更新维护)。由于功能开发时间短,研发人员本身技术能力等原因,线上出现bug很常见。笔者经历过的游戏项目,一年到头没几次更新不出现bug的(当然,配置问题也算bug)。那当出现bug,我们…...

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Column)

沿垂直方向布局的容器。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 接口 Column(value?: {space?: string | number}) 从API version 9开始&#xff0c;该接口…...

LLM之RAG实战(三十)| 探索RAG语义分块策略

在LLM之RAG实战&#xff08;二十九&#xff09;| 探索RAG PDF解析解析文档后&#xff0c;我们可以获得结构化或半结构化的数据。现在的主要任务是将它们分解成更小的块来提取详细的特征&#xff0c;然后嵌入这些特征来表示它们的语义&#xff0c;其在RAG中的位置如图1所示&…...

软件测试-------Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试)

Web&#xff08;性能测试 / 界面测试 / 兼容性测试 / 安全性测试&#xff09; 一、Web性能测试&#xff1a;&#xff08;压力测试、负载测试、连接速度测试&#xff09;1、压力测试&#xff1a;      并发测试 &#xff08;如500人同时登录邮箱&#xff09; 2、负载测试…...

工欲善其事,必先利其器,Markdown和Mermaid的梦幻联动(2)

该文章Github地址&#xff1a;https://github.com/AntonyCheng/typora-notes/tree/master/chapter03-mermaid 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文…...

STM32基础--使用寄存器点亮流水灯

GPIO 简介 GPIO 是通用输入输出端口的简称&#xff0c;简单来说就是 STM32 可控制的引脚&#xff0c;STM32 芯片的 GPIO 引脚与外部设备连接起来&#xff0c;从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的 GPIO被分成很多组&#xff0c;每组有 16 个引脚&#xf…...

代码随想录训练营Day25:● 216.组合总和III ● 17.电话号码的字母组合

216.组合总和III 题目链接 https://leetcode.cn/problems/combination-sum-iii/description/ 题目描述 思路 自己写的效率会慢一些&#xff0c;而且没有用到剪枝 class Solution {List<List<Integer>> list new ArrayList<>();List<Integer> lis…...

SwiftUI的 特性 - ViewModify

SwiftUI的 特性 - ViewModify 记录一下SwiftUI的 特性 - ViewModify的使用方式 可以通过viewModify来管理视图的样式&#xff0c;结合extension来完成封装达到解偶效果 import SwiftUI/// 我们可以通过viewModify来管理视图的样式&#xff0c;来达到解偶效果 struct DefaultB…...

中间件 | RPC - [Dubbo]

INDEX 1 Dubbo 与 web 容器的关系2 注册发现流程3 服务配置3.1 注册方式 & 订阅方式3.2 服务导出3.3 配置参数 4 底层技术4.1 Dubbo 的 spi 机制4.2 Dubbo 的线程池4.3 Dubbo 的负载均衡策略4.3 Dubbo 的协议 1 Dubbo 与 web 容器的关系 dubbo 本质上是一个 RPC 框架&…...

【中等】保研/考研408机试-二叉树相关

目录 一、基本二叉树 1.1结构 1.2前序遍历&#xff08;注意三种遍历中Visit所在的位置&#xff09; 1.2中序遍历 1.3后序遍历 二、真题实战 2.1KY11 二叉树遍历&#xff08;清华大学复试上机题&#xff09;【较难】 2.2KY212 二叉树遍历二叉树遍历&#xff08;华中科技大…...

jsp:forward登录验证的学习与总结

一、学习内容 本次作业完成了基于 JSP 的用户登录功能开发&#xff0c;核心掌握了以下知识点&#xff1a; 1. JSP 表单提交与参数获取&#xff1a;通过 request.getParameter 读取前端输入值&#xff1b; 2. 页面跳转实现&#xff1a;区分请求转发&#xff08;jsp:forward&…...

RMBG-2.0开源模型教程:微调BiRefNet适配特定行业(如医疗影像标记)

RMBG-2.0开源模型教程&#xff1a;微调BiRefNet适配特定行业&#xff08;如医疗影像标记&#xff09; 1. 项目概述与核心价值 RMBG-2.0&#xff08;BiRefNet&#xff09;是一个基于先进架构开发的图像背景扣除模型&#xff0c;能够精确识别并移除图像背景&#xff0c;保留高质…...

OpenClaw技能开发入门:为Qwen3-14b_int4_awq定制PDF解析模块

OpenClaw技能开发入门&#xff1a;为Qwen3-14b_int4_awq定制PDF解析模块 1. 为什么需要自定义PDF解析技能 去年我在处理一批技术白皮书时&#xff0c;发现OpenClaw内置的文件处理能力对复杂PDF支持有限。当我想让AI助手自动提取PDF中的表格数据并生成摘要时&#xff0c;系统总…...

双模型混搭方案:OpenClaw同时接入千问3.5-27B与Llama3

双模型混搭方案&#xff1a;OpenClaw同时接入千问3.5-27B与Llama3 1. 为什么需要多模型混搭 去年我在尝试用AI自动化处理技术文档时&#xff0c;发现单一模型总是存在能力短板。比如用纯文本模型生成示意图说明时&#xff0c;要么需要手动补充描述&#xff0c;要么得额外调用…...

聊城本地企业获客服务商推荐与测评(2026版)

2026年&#xff0c;随着 豆包、文心一言 等生成式AI工具的普及&#xff0c;企业获客方式正在发生根本性变化&#xff1a;用户不再依赖传统搜索引擎&#xff0c;而是直接通过AI获取推荐结果。对于聊城本地企业而言&#xff0c;无论是机械制造、农产品加工&#xff0c;还是本地生…...

TreeSize专业评测:德国老牌磁盘分析工具的实力

在Windows系统工具领域&#xff0c;德国软件一向以严谨和专业著称。 TreeSize作为德国的老牌磁盘空间分析工具&#xff0c;多年来一直深受用户信赖。 本文将从专业角度对这款工具进行全面评测&#xff0c;帮助读者更好地了解它的实力。 首先来看TreeSize的定位&#xff0c;它是…...

剪映自动化工具来了:AI帮你自动剪辑成片

文章目录 📖 介绍 📖 🏡 演示环境 🏡 📒 AI赋能剪映自动化剪辑 📒 🎯 设计理念 🔧 核心功能 📦 安装与使用 ⚓️ 相关链接 ⚓️ 📖 介绍 📖 在视频创作中,剪辑工作往往耗时耗力。从素材导入、字幕匹配、BGM选择到最终导出,每一个环节都需要创作者投入大…...

氢能多能利用调度系统 -NSGA-II多目标优化,实现氢能-电能-交通多能耦合系统的24小时优化调度,包含电解制氢、可再生能源、储氢、掺氢燃气轮机、氢燃料电池和氢电动汽车等关键设备研究(Matlab)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

国内大模型托管平台推荐:四大平台选型指南

随着大模型技术加速落地&#xff0c;模型托管平台已成为开发者不可或缺的基础设施。本文梳理了2025年国内主流的四大大模型托管平台&#xff0c;从核心优势、适用场景到选型建议&#xff0c;为你提供一份实用的选型指南。一、模力方舟&#xff1a;国产开源生态的“基石”推荐指…...

基于深度学习的车牌识别系统(YOLO12/11/v8/v5模型+django)(源码+lw+部署文档+讲解等)

摘要随着智能交通系统的迅猛发展&#xff0c;车牌识别技术在交通管理、停车场管理和公共安全等领域的应用愈加广泛。传统的车牌识别方法多依赖于图像处理技术&#xff0c;无法有效应对复杂环境下的车牌识别任务。为了解决这一问题&#xff0c;本文提出了一种基于深度学习的车牌…...