贪心算法的应用
考虑最大利润
输入:种类数、需求量、各种类的库存量、各种类的总价
输出:最大利润
#include <iostream>
#include <algorithm>//调用sort排序
using namespace std;
struct mooncake{double store;double price;double tprice;
}cake[1000];
bool cmp(mooncake a,mooncake b)
{
return a.price>b.price;
}
int main(){int kinds;double needs,profits=0;cin>>kinds>>needs;for(int i=0;i<kinds;i++)cin>>cake[i].store;for(int i=0;i<kinds;i++){cin>>cake[i].tprice;cake[i].price=cake[i].tprice/cake[i].store;}sort(cake,cake+kinds,cmp);//由大到小排序for(int i=0;i<kinds;i++){if(cake[i].store<=needs)//供应充足{needs-=cake[i].store;//更新需求量profits=cake[i].tprice;}else{//供应不足:一定要手动结束,否则会继续循环profits+=cake[i].price*needs;//由单价一个个算出 break;//手动结束}}cout<<profits;return 0;
}
考虑最小数
输入:0-9位数的次数
输出:由该数所组成的最小数
#include <iostream>
using namespace std;
int main(){int count[10];//分别记录0-9的个数for(int i=0;i<10;i++)cin>>count[i];for(int i=1;i<10;i++)//先确定首位if(count[i]>0){cout<<i;count[i]--;break;}//直接由0-9一个个输出for(int i=0;i<10;i++)//循环各个位数for(int j=0;j<count[i];j++)//判断每个位数的次数 cout<<i;return 0;
}
统计不相交的区间个数-区间贪心
输入:区间个数、各区间的左右端点
输出:不相交的区间个数
#include <iostream>
#include <algorithm>//sort方法
using namespace std;
struct interval{//定义区间结构体int left;int right;
}inter[100];
bool cmp(interval a,interval b){if(a.left!=b.left) return a.left>b.left;//左端点由大到小排序else return a.right<b.right;//右端点由小到大排序
}
int main(){int n;int count=1;//记录不相交的区间个数 cin>>n;for(int i=0;i<n;i++)cin>>inter[i].left>>inter[i].right;sort(inter,inter+n,cmp);int lastval=inter[0].left;//存最大的:最右端的左端点for(int i=1;i<n;i++)if(inter[i].right<=lastval)//右端点小于左端点,说明这两个区间不相交{lastval=inter[i].left;//更新左端点count++;}else count--;cout<<count<<endl;return 0;
}
贪心算法:考虑当前情况下局部最优的策略,从而使全局达到最优的方法
相关文章:
贪心算法的应用
考虑最大利润 输入:种类数、需求量、各种类的库存量、各种类的总价 输出:最大利润 #include <iostream> #include <algorithm>//调用sort排序 using namespace std; struct mooncake{double store;double price;double tprice; }cake[1000]…...
CentOS基于volatility2的内存取证实验
CentOS,Redhat和Fedora 都是Red Hat体系,采用yum管理器,不同于Debian、Ubuntu作为Debian体系使用apt 本文以CentOS为例,采用avml制作内存镜像,并利用volatility官方所给工具制作profile符号文件,进行简单的…...
HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘
最近在通过HLS实现一些算法,其中用到了hls::cos函数,写完代码编译报错: ../Vitis_HLS/hls_cordic_apfixed.h:229: undefined reference to cordic_apfixed::circ_table_arctan_128 build/xf_computePhaseMap_accel.o: In function void cord…...
【汇编】简单的linux汇编语言程序
一、Linux系统汇编语言 Linux系统上的汇编语言可以使用不同的语法风格,主要包括Intel语法和AT&T语法。这两种语法有各自的特点和风格区别,尽管它们表示的底层机器指令相同。下面分别对两种语法进行简要说明: Intel语法 Intel语法是由I…...
Fink CDC数据同步(四)Mysql数据同步到Kafka
依赖项 将下列依赖包放在flink/lib flink-sql-connector-kafka-1.16.2 创建映射表 创建MySQL映射表 CREATE TABLE if not exists mysql_user (id int,name STRING,birth STRING,gender STRING,PRIMARY KEY (id) NOT ENFORCED ) WITH (connector mysql-cdc,hostn…...
Adb offline疑难杂症解决方案大全记录
无线/有线Adb offline依次尝试下面步骤: adb kill-server && adb start-server adb reconnect offline 多次 adb tcpip 5555 后重试 检查有线端口5037、无线5555占用,排除改名的adb或其他应用占用 换USB线和USB口拔插、确保同一WiFi下࿰…...
详述FlinkSql Join操作
FlinkSql 的 Join Flink 官网将其分为了 Joins 和 Window Joins两个大类,其中里面又分了很多 Join 方式 参考文档: Joins | Apache Flink Window JOIN | Apache Flink Joins 官网介绍共有6种方式: Regular Join:流与流的 Joi…...
Ajax+JSON学习二
AjaxJSON学习二 文章目录 前言三、前后端数据交互3.1. GET请求3.2. POST请求3.3. jQuery 中的 Ajax3.4. Ajax 的替代品:fetch3.5. 小结 四、JSON4.1. JSON简介4.2. JSON 语法规则4.3. JSON的解析和序列化 总结 前言 三、前后端数据交互 3.1. GET请求 GET 请求一般用…...
STM32单片机的基本原理与应用(六)
串口测试实验 基本原理 在串口实验中,是通过mini_USB线搭建终端与电脑端(也可称终端,为做区分称电脑端)的“桥梁”,电脑端的串口调试助手通过mini_USB线向终端发送信息,由CH340芯片将USB接口进行转换&…...
《MySQL 简易速速上手小册》第4章:数据安全性管理(2024 最新版)
文章目录 4.1 用户认证和权限控制4.1.1 基础知识4.1.2 重点案例:使用 Python 管理 MySQL 用户权限4.1.3 拓展案例 4.2 防止 SQL 注入和其他安全威胁4.2.1 基础知识4.2.2 重点案例:使用 Python 和 MySQL 进行安全的数据查询4.2.3 拓展案例 4.3 数据加密和…...
VUE学习之路——列表渲染
<p v-for"item in items">{{ item }}</p>使用v-for进行列表的渲染。 这仅仅是一个简单的demo,使用v-for可以用来遍历数组和对象,具体如下: 注意:遍历数组或对象的时候,()…...
CentOS 安装 redis 7.2
nginx官网 https://redis.io/download/ 把鼠标放到这里,复制下载地址 在服务器找个文件夹执行命令 wget https://github.com/redis/redis/archive/7.2.4.tar.gz tar -zxvf 7.2.4.tar.gz make make install 看到这几行就说明安装成功了 不放心的话再查看下b…...
运维自动化bingo前端
项目目录结构介绍 项目创建完成之后,我们会看到bingo_web项目其实是一个文件夹,我们进入到文件夹内部就会发现一些目录和文件,我们简单回顾一下里面的部分核心目录与文件。 ├─node_modules/ # node的包目录,项目运行的依赖包…...
Project2013下载安装教程,保姆级教程,附安装包和工具
前言 Project是一款项目管理软件,不仅可以快速、准确地创建项目计划,而且可以帮助项目经理实现项目进度、成本的控制、分析和预测,使项目工期大大缩短,资源得到有效利用,提高经济效益。软件设计目的在于协助专案经理发…...
【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总
【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总 前言请看此正文预训练 Pre-Training无监督学习 unsupervised learning概念:标签PCA 主成分分析(Principal Component Analysis)降维算法LSA 潜在语义分析(…...
Mac电脑如何通过终端隐藏应用程序?
在我们使用Mac电脑的时候难免会遇到想要不想看到某个应用程序又不想卸载它们。值得庆幸的是,macOS具有一些强大的文件管理功能,允许用户轻松隐藏(以及稍后显示)文件甚至应用程序。 那么,Mac电脑如何通过终端隐藏应用程…...
linker list
linker list是利用lds 描述符实现同类型数据连续排布的一种机制。 下面是uboot里面的应用说明 lds文件里面需要增加section描述: . ALIGN(4);.u_boot_list : {KEEP(*(SORT(.u_boot_list*)));}linker_list.h: /* SPDX-License-Identifier: GPL-2.0 */ /** include…...
[CUDA手搓]从零开始用C++ CUDA搭建一个卷积神经网络(LeNet),了解神经网络各个层背后算法原理
文章目录 前言一、所需环境二、实现思路2.1. 定义了LeNet网络模型结构,并训练了20次2.2 以txt格式导出训练结果(模型的各个层权重偏置等参数)2.3 (可选)以pth格式导出训练结果,以方便后期调试2.4 C CUDA要做的事 三、C CUDA具体实现3.1 新建.cu文件并填好…...
【开源】基于JAVA+Vue+SpringBoot的数据可视化的智慧河南大屏
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏,包含了GDP、…...
页面单跳转换率统计案例分析
需求说明 页面单跳转化率 计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21,那么页面 3 跳到页面 5 叫一次单跳,7-9 也叫一次单跳, 那么单跳转化率就是要统计…...
VBench评测基准全面解析:如何精准评估视频生成模型性能
1. VBench评测基准:视频生成模型的"体检中心" 想象一下你去医院做全身体检,医生会用不同仪器检查你的视力、听力、心肺功能等各项指标。VBench就是给视频生成模型做全面体检的"三甲医院",它能从16个维度给模型打分&#…...
Save Image as Type:终极Chrome图片格式转换指南,三步快速解决网页图片格式不兼容难题
Save Image as Type:终极Chrome图片格式转换指南,三步快速解决网页图片格式不兼容难题 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址:…...
tmux快速上手指南:3个核心命令与1个关键快捷键解析
1. 为什么你需要tmux? 如果你经常在服务器上工作,肯定遇到过这样的场景:正在跑一个耗时很长的任务,突然网络波动导致SSH连接断开,所有进程都被终止,几个小时的成果瞬间消失。这种时候,tmux就是你…...
UNIX文件系统设计:一切皆文件的原理与实践
UNIX 文件系统设计哲学:一切皆文件的深度解析1. 核心设计理念1.1 统一I/O抽象模型UNIX系统最核心的设计原则是提供访问各类输入/输出资源的统一范式。系统将所有I/O资源抽象为"文件"对象,通过同一套API接口暴露给用户空间。这种设计使得开发者…...
CentOS 7下OnlyOffice离线部署全攻略:从依赖包下载到一键配置(避坑指南)
CentOS 7下OnlyOffice离线部署全攻略:从依赖包下载到一键配置(避坑指南) 在企业内网或安全隔离环境中部署文档协作平台时,OnlyOffice凭借其开源特性和丰富的编辑功能成为首选方案。本文将深入探讨如何在CentOS 7系统中实现完全离线…...
A-59F 多功能语音处理模组:覆盖全场景人群,让每一次语音都清晰无噪
在门禁对讲、会议扩音、车载通话、导游喊话、监护设备、智能工牌等各类语音设备中,啸叫刺耳、环境嘈杂、回音不断、拾音模糊、通话断续是所有人共同的痛点。一款真正解决问题的核心硬件 ——A-59F 多功能语音处理模组,它集成扩音防啸叫、AI ENC 降噪、AE…...
顺利毕业!一个能读懂学校要求的AI论文助手
作为一名即将毕业的大四学生,写毕业论文这件事,就像一座大山压在我心头。选题没方向,文献看不懂,最要命的是,学校发的那个十几页的写作要求,看得我头都大了,生怕自己辛辛苦苦写出来,…...
ccmusic-database新手教程:Gradio输出组件定制——增强Top5结果可读性技巧
ccmusic-database新手教程:Gradio输出组件定制——增强Top5结果可读性技巧 1. 项目简介与背景 ccmusic-database是一个基于深度学习的音乐流派分类系统,它能够自动识别音频文件所属的音乐流派。这个系统在计算机视觉预训练模型VGG19_BN的基础上进行微调…...
s2-pro语音合成教程:支持数字/单位/英文缩写智能朗读技巧
s2-pro语音合成教程:支持数字/单位/英文缩写智能朗读技巧 1. 快速了解s2-pro语音合成 s2-pro是Fish Audio开源的专业级语音合成模型镜像,它能将文本转换为自然流畅的语音。这个工具特别适合需要语音播报、有声读物制作、视频配音等场景的用户。 与普通…...
PlatformIO环境下ESP32-S3与N16R8开发板配置全攻略
1. 为什么选择PlatformIO开发ESP32-S3? 很多刚接触ESP32-S3的开发者会纠结:到底用Arduino IDE还是PlatformIO?我刚开始用Arduino IDE,后来切换到PlatformIO就再也没回去过。PlatformIO有三大杀手锏:跨平台支持…...
