首页 > 其他分享 >贪心模型

贪心模型

时间:2024-08-25 18:54:13浏览次数:11  
标签:frac max 模型 交换 times sum 邻项 贪心

邻项交换模型

邻项交换十分的重要,因为他是一个不可替代的算法。需要知道什么时候使用邻项交换,没有固定的形态,需要通过做题形成一种经验。

P1080 国王游戏

题目描述

有 \(n\) 个人,每一个人左手写了 \(a_i\) ,右手写了 \(b_i\) 。需要确定一个 \(1,2,\dots,n\) 的排列 \(p\) ,使得最小化:

\[\max_{i=1}^n\{(\prod_{j=1}^{i-1}a_j)\times b_i\} \]

思路点拨

通过这个题目体会什么时候可以使用邻项交换。

对于一个顺序中,存在相邻两项 \(j,i\) ,考虑如果将顺序转变为 \(i,j\) 更优需要满足什么条件?

记 \(sum\) 表示 \(j\) 之前项 \(a_i\) 的积,则:

\[\max\{sum\times b_j,sum\times a_j\times b_i\}>\max\{sum\times b_i,sum\times a_i\times b_j\} \]

发现存在 \(\max\) 做不了一点,但是考虑 \(sum\times a_j\times b_i>sum\times b_i\) ,所以 \(sum\times b_i\) 没有什么意义,同理,\(sum\times b_j\) 也是一样的。

转化为 \(sum\times a_j\times b_i>sum\times a_i\times b_j,\frac{a_i}{b_i}<\frac{a_j}{b_j}\) 。

所以我们只需要按照 \(\frac{a_i}{b_i}\) 排序就可以了。

接下来说明这个做法为什么是对的:

  • 交换的分析是正确的,因为 \(i,j\) 交换不会影响 \(j\) 前面和 \(i\) 后面的元素。并且在分析过程中,发现 \(i,j\) 交换和之前的元素并不相关。

  • 最后的排序是对的,因为 \(\frac{a_i}{b_i}<\frac{a_j}{b_j}\) 这种比较是具有传递性的。

这两点也是邻项交换成立的条件。

标签:frac,max,模型,交换,times,sum,邻项,贪心
From: https://www.cnblogs.com/-Aurore-/p/18379320

相关文章

  • 语言模型与神经网络
    语言模型与神经网络语言模型(LanguageModel)ChatGPT流畅的语言生成能力自然语言是一种上下文相关的信息表达和信息传递方式。定义:语言模型是衡量一句话出现在自然语言中的概率的模型。数学形式上,给定一句话\(s=\{w_1,\dots,w_n\}\),它对应的概率为:\[\begin{align}\mathr......
  • 【python】时间序列模型(ARIMA)
    文章目录前言一、示例二、代码实现----python全部数据的平稳性检验划分训练集平稳性检验确定p,q结果分析和模型检验模型预测前言接上一篇博客,用python完成代码编写。一、示例已知一个上市公司一段时期的开盘价,最高价,最低价,收盘价等信息,要求建立模型,预测股价。这......
  • 信息学奥赛初赛天天练-75-NOIP2016普及组-完善程序-二分答案、二分查找、贪心算法、贪
    1完善程序(单选题,每小题3分,共30分)郊游活动有n名同学参加学校组织的郊游活动,已知学校给这n名同学的郊游总经费为A元,与此同时第i位同学自己携带了Mi元。为了方便郊游,活动地点提供B(≥n)辆自行车供人租用,租用第j辆自行车的价格为Cj元,每位同学可以使用自己携带的钱或......
  • 【逐行注释】基于CV/CT模型的IMM|MATLAB程序|源代码复制后即可运行,无需下载
    订阅专栏后可以直接查看完整的源代码(和注释),无需付费下载或其他的操作。代码复制到MATLAB上面可以得到和我一样的运行结果。文章目录程序概述完整代码与逐行注释运行结果解释按模块分析代码程序概述基于EKF的多模型交互。以CV和CT两个模型进行交互,这里对代码进......
  • 微调Qwen2:7B模型,加入未知信息语料
    对于QWen2这样的模型,在微调的时候,语料的投喂格式满足ChatML这样的格式!!!OpenAI-ChatML下面是ChatML格式的介绍:https://github.com/openai/openai-python/blob/release-v0.28.1/chatml.md传统上,GPT模型使用非结构化文本。ChatGPT模型需要一种结构化格式,称为ChatMarkupL......
  • 【大模型理论篇】Mixture of Experts(混合专家模型, MOE)
    1.MoE的特点及为什么会出现MoE1.1MoE特点         MixtureofExperts(MoE,专家混合)【1】架构是一种神经网络架构,旨在通过有效分配计算负载来扩展模型规模。MoE架构通过在推理和训练过程中仅使用部分“专家”(子模型),优化了资源利用率,从而能够处理复杂任务。   ......
  • 浏览器对象模型 BOM和文档对象模型DOM
    DOM(文档对象模型,DocumentObjectModel)是一个平台和语言无关的接口,它提供了一种结构化的方法来表示和操作HTML和XML文档。通过DOM,文档被表示为一个树状结构,文档的每个部分都可以作为一个对象进行访问和操作。一DOM的基本概念节点(Node):DOM树由各种节点组成,每个节......
  • 使用HF Trainer微调小模型
    本文记录HugginngFace的Trainer各种常见用法。SFTTrainer的一个最简单例子HuggingFace的各种Trainer能大幅简化我们预训练和微调的工作量。能简化到什么程度?就拿我们个人用户最常会遇到的用监督学习微调语言模型任务为例,只需要定义一个SFTrainer,给定我们想要训练的模型和数据......
  • YOLOv8超详细环境搭建以及模型训练(GPU版本)
    目录1.安装CUDA和cuDNN1.1安装CUDA1.1.1查看当前你的电脑显卡支持的最高CUDA版本,后面的安装不能超过它1.1.2下载CUDA(官网或者百度网盘)1.1.3安装CUDA11.81.2配置cuDNN1.2.1下载cuDNN(官网或者百度网盘)1.2.2配置cuDNN2.安装Anaconda2.1下载Anaconda2.2安装Anacon......
  • iTransformer时序模型改进——基于SENet和TCN的倒置Transformer,性能暴涨
    1数据集介绍ETT(电变压器温度):由两个小时级数据集(ETTh)和两个15分钟级数据集(ETTm)组成。它们中的每一个都包含2016年7月至2018年7月的七种石油和电力变压器的负载特征。 数据集链接:https://drive.google.com/drive/folders/1ZOYpTUa82_jCcxIdTmyr0LXQfvaM9vIy......