最优服务次序问题(贪心法)

2023-10-31

@最优服务次序问题(贪心法)

问题描述:设有n个顾客同时等待一项服务,顾客i所需要的服务时间为ti,应如何安排顾客的服务次序,才能使平均等待时间最短?平均等待时间是n个顾客等待服务时间的总和除以n。

解题思路:
1.算法主要思想:本题我们直接采用贪心法求解

2.求解步骤:
(1)将排队所花时间从小到大排列
(2)计算总排序时间,不放设总人数为n,则总排序时间耗时最少的顾客计算了n次,耗时次少的计算了(n-1)次,……依次类推,……耗时最长的顾客只算了1次。

3.算法程序:
using namespace std;
const int N=1010;
int a[N];

//冒泡排序将原来数组a[n]从小到大排列
void sort(int a[],int n){
int temp;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;}

}

int main()
{
int n;//排队人数
cout<<“请输入排队人数:”;
cin>>n;
cout<<“请依次输入各自所需时间:”;
int i;
for(i=0;i<n;i++){
cin>>a[i];}
sort(a,n);//将原来数组a[n]从小到大排列
cout<<“所需时间排序后数组为:”<<endl;
for(i=0;i<n;i++){
cout<<a[i]<<" ";}
cout<<endl;
//计算总时间,此时数组已经是从小到大排好序的
double sum=0;
for(int j=0;j<n;j++){
sum+=a[j]*(n-j);}
cout << “最少总时间为:”<<sum<< endl;
cout << “最少平均时间为:”<<sum/n << endl;//计算平均时间
return 0;
}

4.算法输入输出运行如下:
results

最近学贪心法,写作业时大概写了一下,代码运行没问题,但编译习惯的可能有小问题,欢迎指出,多多交流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最优服务次序问题(贪心法) 的相关文章

  • 在 Vulkan 中,图形队列系列与当前队列系列分离是否有益?

    据我所知 队列系列可能支持呈现到屏幕但不支持图形 假设我有一个同时支持图形和呈现的队列系列 以及另一个仅支持呈现的队列系列 我应该为两个进程使用第一个队列系列 还是应该将第一个队列系列委托给图形 将后者委托给呈现 或者这两种方法之间没有明显
  • 与 for_each 或 std::transform 一起使用时,如何调用 C++ 函子构造函数

    我以前从未使用过 C 函子 所以我只是想了解它们是如何工作的 例如假设我们有这个函子类 class MultiplyBy private int factor public MultiplyBy int x factor x int ope
  • 是否需要销毁运算符删除的形式才能真正销毁对象?

    C 20 添加了破坏形式operator delete区别于std destroying delete t范围 它导致delete表达式在调用之前不再销毁对象operator delete 目的是在显式调用对象的析构函数和释放内存之前 允许
  • 静态构造函数和 BeforeFieldInit?

    如果类型没有静态构造函数 则将执行字段初始值设定项 就在使用该类型之前 或者在某个时间点突发奇想 运行时 为什么这段代码 void Main start Dump Test EchoAndReturn Hello end Dump clas
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • C# 中一次性对象克隆会导致内存泄漏吗?

    检查这个代码 class someclass IDisposable private Bitmap imageObject public void ImageCrop int X int Y int W int H imageObject
  • Selenium - C# - Webdriver - 无法找到元素

    在 C 中使用 selenium 我试图打开浏览器 导航到 Google 并找到文本搜索字段 我尝试下面的 IWebDriver driver new InternetExplorerDriver C driver Navigate GoT
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • 如果将变量设置为等于新对象,旧对象会发生什么?

    假设我们有一个 X 类not有一个超载的operator 功能 class X int n X n 0 X int n n n int main X a 1 an object gets constructed here more code
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内

随机推荐

  • 合成模式代码示例

    package com example hecheng public interface IFile 返回自己的实例 IFile getComposite 某个商业方法 void sampleOperation 获取深度 int getDe
  • python的matplotlib库

    目录 一 figure 二 plot 三 savefig 四 show 五 xticks 六 xlable和ylable 七 title 八 grid 九 plot绘制多条线 十 legend 十一 scatter 十二 bar 十三 ba
  • tomcat配置CA证书后,https的接口url请求很慢,大概率会超时

    背景 项目需要使用websocket长连接 走nginx反向代理会断开 所以决定要直连项目 websocket连接https需要使用wss 项目端口 8080 项目名 biubiu https证书端口 8443 https配置
  • Nginx(五)Nginx入门级配置与部署及“Hello World”

    转载自 http blog csdn net poechant article details 7049027 这一次我们要学习什么 就是用Nginx在一台机器上搭建一个最简单的显示 Hello World 的Web服务器 那我们就 ste
  • JavaScript设计模式(四)——策略模式、代理模式、观察者模式

    个人简介 个人主页 前端杂货铺 学习方向 主攻前端方向 正逐渐往全干发展 个人状态 研发工程师 现效力于中国工业软件事业 人生格言 积跬步至千里 积小流成江海 推荐学习 前端面试宝典 Vue2 Vue3 Vue2 3项目实战 Node js
  • 如何免费将本地服务映射到公网

    如何免费将本地服务映射到公网 内穿穿透原理解析 花生壳是一种基于 NAT 穿透的技术 可以让位于局域网内的设备通过一个公网 IP 地址访问互联网 具体来说 花生壳利用了 UDP 协议的特性 将内网设备的数据包通过一个中转服务器转发到公网上
  • Vue中缓存路由

    1 作用 让不展示的路由组件保持挂载 不被销毁 2 具体代码 2 1 缓存展示区所有组件
  • 服务器性能pdf,服务器性能计算方法.pdf

    一 数据库服务器性能计算需求分析 考虑到广州市公安局超级情报系统 SIS 设备升级项目的数据库 服务器的性能 我们建议采用主流的 T PC C值进行性能估算 TPC C 是一种旨在衡量联机事务处理 OLTP 系统性能与可 伸缩 性的行业标准
  • gcc make编译android,是用cmake编译openssl(支持android)

    openssl 首先openssl的源码 方案 这里用到了janbar的方案 且作者一直在更新 基本直接可以编译 设置到的主要的cmake文件 CMakeLists txt c rehash cmake crypto CMakeLists
  • Excel获取数值

    Excel获取数值篇 修复Cell getCellType方法过时问题 使用最新的类型方式获取 根据Excel单元格类型返回相对应的值 根据Excel单元格类型返回相对应的值 param cell return public static
  • NLP七十年!斯坦福教授Manning长文梳理

    作者 LRS 来源 新智元 从手工规则 神经网络到Transformer基础模型 自然语言处理的未来是统一多模态 走向通用人工智能 过去十年间 仅靠简单的神经网络计算 以及大规模的训练数据支持 自然语言处理领域取得了相当大的突破 由此训练得
  • vmware14 安装windows 11 注意事项

    1 正常创建虚拟机 系统选择window 10 x64 2 修改启动方式为UEFI 虚拟机设置 选项 高级 3 修改虚拟机配置 启用加密 虚拟机设置 选项 访问控制 启用加密 4 接下来正常安装即可 系统从微软官网下载
  • JedisPool链接未释放

    最近线上出现一个问题 一个接口一段时间后无响应 查看nginx日志499 502异常 zpp trade recharftenunt v1 qury HTTP 1 1 499 zpp trade recharftenunt v1 qury
  • 猫眼家APP广告变现:数据埋点在广告变现中的重要作用

    前言 数据埋点技术是一种收集用户行为数据并生成大量数据的方法 当用户在应用程序中执行操作时 代码会捕获并记录该操作 从而实现数据埋点 数据埋点对于实施APP广告变现策略至关重要 开发人员需要准确了解用户的行为习惯 兴趣和偏好 以提高广告变现
  • 基于Qt4+SQLite3的通信录

    首先申明 本文借鉴于 http blog csdn net jianchi88 article details 7052270 通信录实现的动能有 添加 查找 删除 但在页面效果上还不太美观 功能上没有去验证输入的信息的有效性 运行环境 u
  • 【FPGA零基础学习之旅#8】阻塞赋值与非阻塞赋值讲解

    欢迎来到FPGA专栏 阻塞赋值与非阻塞赋值 o o 嗨 我是小夏与酒 博客主页 小夏与酒的博客 该系列文章专栏 FPGA学习之旅 文章作者技术和水平有限 如果文中出现错误 希望大家能指正 欢迎大家关注 目录 阻塞赋值与非阻塞赋值 一 基础知
  • OceanBase 3.1.2版本测试报告

    测试场景 OLTP场景 测试工具使用的是开源版本BenchmarkSQL5 0 说明 我们已经通过修改源代码 实现了MySQL的支持 在单位进行分布式数据库POC选型时 都是使用该版本 集群拓扑及硬件配置信息 7台物理机 使用OBD直接部署
  • MySQL 中not in 查询为空

    MySQL not in踩坑 今天想用not in进行嵌套查询时 从逻辑上本应返回数据的结果却没有返回任何数据 查阅资料后找到原因 not in中 不能包含null值 如果包含null值 则直接返回空结果集 上代码
  • 计算二进制位"1"的个数

    写一个函数 返回数字中二进制位为 1 的个数 比如36 化为二进制得到100100 其中有2个 1 方法1 分别判断各个位 int bit count unsigned int n int count for count 0 n n gt
  • 最优服务次序问题(贪心法)

    最优服务次序问题 贪心法 问题描述 设有n个顾客同时等待一项服务 顾客i所需要的服务时间为ti 应如何安排顾客的服务次序 才能使平均等待时间最短 平均等待时间是n个顾客等待服务时间的总和除以n 解题思路 1 算法主要思想 本题我们直接采用贪