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

贪心算法的应用

考虑最大利润
输入:种类数、需求量、各种类的库存量、各种类的总价
输出:最大利润

#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;
}

贪心算法:考虑当前情况下局部最优的策略,从而使全局达到最优的方法

相关文章:

贪心算法的应用

考虑最大利润 输入&#xff1a;种类数、需求量、各种类的库存量、各种类的总价 输出&#xff1a;最大利润 #include <iostream> #include <algorithm>//调用sort排序 using namespace std; struct mooncake{double store;double price;double tprice; }cake[1000]…...

CentOS基于volatility2的内存取证实验

CentOS&#xff0c;Redhat和Fedora 都是Red Hat体系&#xff0c;采用yum管理器&#xff0c;不同于Debian、Ubuntu作为Debian体系使用apt 本文以CentOS为例&#xff0c;采用avml制作内存镜像&#xff0c;并利用volatility官方所给工具制作profile符号文件&#xff0c;进行简单的…...

HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘

最近在通过HLS实现一些算法&#xff0c;其中用到了hls::cos函数&#xff0c;写完代码编译报错&#xff1a; ../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系统上的汇编语言可以使用不同的语法风格&#xff0c;主要包括Intel语法和AT&T语法。这两种语法有各自的特点和风格区别&#xff0c;尽管它们表示的底层机器指令相同。下面分别对两种语法进行简要说明&#xff1a; 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依次尝试下面步骤&#xff1a; adb kill-server && adb start-server adb reconnect offline 多次 adb tcpip 5555 后重试 检查有线端口5037、无线5555占用&#xff0c;排除改名的adb或其他应用占用 换USB线和USB口拔插、确保同一WiFi下&#xff0…...

详述FlinkSql Join操作

FlinkSql 的 Join Flink 官网将其分为了 Joins 和 Window Joins两个大类&#xff0c;其中里面又分了很多 Join 方式 参考文档&#xff1a; Joins | Apache Flink Window JOIN | Apache Flink Joins 官网介绍共有6种方式&#xff1a; Regular Join&#xff1a;流与流的 Joi…...

Ajax+JSON学习二

AjaxJSON学习二 文章目录 前言三、前后端数据交互3.1. GET请求3.2. POST请求3.3. jQuery 中的 Ajax3.4. Ajax 的替代品&#xff1a;fetch3.5. 小结 四、JSON4.1. JSON简介4.2. JSON 语法规则4.3. JSON的解析和序列化 总结 前言 三、前后端数据交互 3.1. GET请求 GET 请求一般用…...

STM32单片机的基本原理与应用(六)

串口测试实验 基本原理 在串口实验中&#xff0c;是通过mini_USB线搭建终端与电脑端&#xff08;也可称终端&#xff0c;为做区分称电脑端&#xff09;的“桥梁”&#xff0c;电脑端的串口调试助手通过mini_USB线向终端发送信息&#xff0c;由CH340芯片将USB接口进行转换&…...

《MySQL 简易速速上手小册》第4章:数据安全性管理(2024 最新版)

文章目录 4.1 用户认证和权限控制4.1.1 基础知识4.1.2 重点案例&#xff1a;使用 Python 管理 MySQL 用户权限4.1.3 拓展案例 4.2 防止 SQL 注入和其他安全威胁4.2.1 基础知识4.2.2 重点案例&#xff1a;使用 Python 和 MySQL 进行安全的数据查询4.2.3 拓展案例 4.3 数据加密和…...

VUE学习之路——列表渲染

<p v-for"item in items">{{ item }}</p>使用v-for进行列表的渲染。 这仅仅是一个简单的demo&#xff0c;使用v-for可以用来遍历数组和对象&#xff0c;具体如下&#xff1a; 注意&#xff1a;遍历数组或对象的时候&#xff0c;&#xff08;&#xff09;…...

CentOS 安装 redis 7.2

nginx官网 https://redis.io/download/ 把鼠标放到这里&#xff0c;复制下载地址 在服务器找个文件夹执行命令 wget https://github.com/redis/redis/archive/7.2.4.tar.gz tar -zxvf 7.2.4.tar.gz make make install 看到这几行就说明安装成功了 不放心的话再查看下b…...

运维自动化bingo前端

项目目录结构介绍 项目创建完成之后&#xff0c;我们会看到bingo_web项目其实是一个文件夹&#xff0c;我们进入到文件夹内部就会发现一些目录和文件&#xff0c;我们简单回顾一下里面的部分核心目录与文件。 ├─node_modules/ # node的包目录&#xff0c;项目运行的依赖包…...

Project2013下载安装教程,保姆级教程,附安装包和工具

前言 Project是一款项目管理软件&#xff0c;不仅可以快速、准确地创建项目计划&#xff0c;而且可以帮助项目经理实现项目进度、成本的控制、分析和预测&#xff0c;使项目工期大大缩短&#xff0c;资源得到有效利用&#xff0c;提高经济效益。软件设计目的在于协助专案经理发…...

【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总

【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总 前言请看此正文预训练 Pre-Training无监督学习 unsupervised learning概念&#xff1a;标签PCA 主成分分析&#xff08;Principal Component Analysis&#xff09;降维算法LSA 潜在语义分析&#xff08;…...

Mac电脑如何通过终端隐藏应用程序?

在我们使用Mac电脑的时候难免会遇到想要不想看到某个应用程序又不想卸载它们。值得庆幸的是&#xff0c;macOS具有一些强大的文件管理功能&#xff0c;允许用户轻松隐藏&#xff08;以及稍后显示&#xff09;文件甚至应用程序。 那么&#xff0c;Mac电脑如何通过终端隐藏应用程…...

linker list

linker list是利用lds 描述符实现同类型数据连续排布的一种机制。 下面是uboot里面的应用说明 lds文件里面需要增加section描述&#xff1a; . 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网络模型结构&#xff0c;并训练了20次2.2 以txt格式导出训练结果(模型的各个层权重偏置等参数)2.3 (可选)以pth格式导出训练结果&#xff0c;以方便后期调试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的数据可视化的智慧河南大屏&#xff0c;包含了GDP、…...

页面单跳转换率统计案例分析

需求说明 页面单跳转化率 计算页面单跳转化率&#xff0c;什么是页面单跳转换率&#xff0c;比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21&#xff0c;那么页面 3 跳到页面 5 叫一次单跳&#xff0c;7-9 也叫一次单跳&#xff0c; 那么单跳转化率就是要统计…...

【典型电路设计】直流400V转24V电源设计,超宽输入高压非隔离Buck降压芯片XD308H,包含芯片介绍以及参考电路详细解读

一款工业场景中非常实用的高压降压芯片——XD308H&#xff0c;这款芯片主打超宽输入、外围极简、低成本&#xff0c;特别适合400VDC母线、220VAC整流后等高压场景&#xff0c;实现小功率非隔离降压&#xff08;如24V、12V&#xff09;&#xff0c;广泛应用于工业控制、BMS、智能…...

告别X11!在Ubuntu 22.04上从源码编译Wayland+Weston桌面(保姆级避坑指南)

从X11到Wayland&#xff1a;Ubuntu 22.04源码编译Weston全流程实战 如果你已经受够了X11的老旧架构和偶尔的卡顿&#xff0c;现在是时候拥抱Wayland了。作为Linux桌面图形栈的下一代接班人&#xff0c;Wayland不仅在设计上更现代化&#xff0c;还能带来更流畅的图形体验。本文将…...

3个为什么让Windows Cleaner成为你的C盘救星?深度体验报告

3个为什么让Windows Cleaner成为你的C盘救星&#xff1f;深度体验报告 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是不是也遇到过这样的情况&#xff1f;电…...

XSP25全协议 100W PD快充诱骗芯片_串口读电压电流信息

在Type-C快充技术普及的今天&#xff0c;快充诱骗协议芯片成为小家电、智能硬件、锂电设备等产品实现高效取电的核心器件。XSP25作为汇铭达推出的Type‑C受电端&#xff08;Sink&#xff09;多功能快充取电芯片&#xff0c;以全协议兼容、100W大功率输出、串口智能通信、极简外…...

AI 术语通俗词典:贝叶斯估计

贝叶斯估计是统计学、机器学习、概率推断和人工智能中非常重要的一个术语。它用来描述一种在已有认识的基础上&#xff0c;根据新数据更新参数判断的方法。换句话说&#xff0c;贝叶斯估计是在回答&#xff1a;我们原来对参数有一个初步判断&#xff0c;现在看到了一批数据&…...

基于MCP协议构建AI代码安全沙盒:原理、实现与工程实践

1. 项目概述&#xff1a;一个为AI模型安全执行代码的“沙盒”工具最近在折腾AI应用开发&#xff0c;特别是那些能调用外部工具、执行代码的智能体&#xff08;Agent&#xff09;时&#xff0c;一个绕不开的核心问题就是&#xff1a;如何让AI安全地运行它生成的代码&#xff1f;…...

AI编码助手重复犯错?4大策略构建可控的智能编程伙伴

1. 项目概述&#xff1a;当AI编码助手陷入“重复犯错”的怪圈最近和几个团队的技术负责人聊天&#xff0c;发现大家都有个共同的烦恼&#xff1a;项目里引入的AI编码助手&#xff08;或者叫AI编程副驾&#xff09;&#xff0c;用着用着就发现它好像“不长记性”。同一个项目里&…...

ImageTrans插件生态:用Python扩展图片OCR与翻译工作流

1. 项目概述&#xff1a;一个为ImageTrans量身定制的插件生态如果你经常需要处理图像中的文字&#xff0c;比如翻译漫画、本地化游戏截图或者处理带文字的UI设计稿&#xff0c;那你很可能听说过或者用过ImageTrans这款工具。它是一款专注于图片文字识别&#xff08;OCR&#xf…...

现实是期待的土壤,期待是改变现实的方向

期待的对立统一结构期待 理想应然&#xff08;正题&#xff09; vs 现实实然&#xff08;反题&#xff09;&#xff0c;二者的统一构成一个动态的矛盾运动。同一性&#xff08;相互依存&#xff09;&#xff1a;没有对现实的不满足和对未来的向往&#xff0c;就没有期待&#…...

IP2366至为芯支持C口双向快充的140W多串锂电池充放电SOC芯片

英集芯IP2366是一款应用于移动电源、电动工具、智能家居、储能电源等方案的多串锂电池充电SOC芯片。支持高达140W的双向同步升降压充放电&#xff0c;充电电流可达5A。支持2至6节锂电池/磷酸铁锂电池串联&#xff0c;集成PD3.1、QC3.0等多种快充协议。内置14bit ADC&#xff0c…...