第四章上机实践报告
时间:2019-11-16
本文章向大家介绍第四章上机实践报告,主要包括第四章上机实践报告使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。
输入格式:
第一行是2 个正整数,分别表示文件个数n和磁带的长度L。接下来的1行中,有n个正整数,表示程序存放在磁带上的长度。
输出格式:
输出最多可以存储的程序数。
输入样例:
在这里给出一组输入。例如:
6 50
2 3 13 8 80 20
输出样例:
在这里给出相应的输出。例如:
5
先贴出我的代码
#include <iostream> #include <algorithm> using namespace std; int main() { int num;//输入文件个数 cin >> num; int length;//输入磁带长度 cin >> length; int i,j,software[1001]; for(i = 1;i <= num;i++) cin >> software[i];//输入第i个程序的长度 sort(software + 1,software + num + 1); //升序排列程序长度 int status = 0;//判断磁带当前的状态 for(i = 1;i <= num;i++) { status = status + software[i]; if(status > length) { cout << i - 1; break; } } if(status <= length) cout << num; }
贪心策略:因为程序长度的输入并没有格式要求,所以只能先将程序长度升序输出,然后每次往磁带增加一个程序,通过status判断磁带当前的状态是否已满。若status > 磁带长度length,则拿出已装入的程序,输出i - 1。若status一直小于length,输出程序的个数就可以了。
时间复杂度:sort的时间复杂度是O(nlogn),因此这个算法的时间复杂度也是O(nlogn)。
心得:我这个算法有点太简单了...问题设置得再难一点就解决不了。需要学习更好的算法,运用好思维能力。
原文地址:https://www.cnblogs.com/KongLeung/p/11874060.html
- Spring框架中的设计模式(五)
- Oracle 12c数据库优化器统计信息收集的最佳实践(二)
- hdu-----(4514)湫湫系列故事——设计风景线(树形DP+并查集)
- hdu----(1402)A * B Problem Plus(FFT模板)
- uva----(100)The 3n + 1 problem
- 程序员你为什么这么累[续]:编码习惯之接口定义
- Python-贝叶斯实战垃圾邮件过滤(大量数据)
- hdu------(3549)Flow Problem(最大流(水体))
- go语言实现http服务端与客户端
- hdu-----(1532)Drainage Ditches(最大流问题)
- LNMP无法删除.user.ini文件的解决方法
- HDU-----(4858)项目管理(模拟)
- hdu-----(4857)逃生(拓扑排序)
- HDU-----(1083)Courses(最大匹配)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SAP CDS view自学教程之二:当SAP CDS view被激活时,背后发生了什么
- SAP Fiori Elements原理介绍之类型为Value Help的Smart Field工作原理
- 万字详述 MySQL ProxySQL
- 在SAP WebClient UI里使用AJAX进行异步数据读取
- Angular Component TypeScript代码和最后转换生成的JavaScript代码比较
- 如何使用Angular FormBuilder
- Angular HTML template的解析位置
- Angular FormBuilder的工作原理
- Angular HTTPClient的使用方法
- nodejs错误:PayloadTooLargeError: request entity too large
- 富文本编辑器 tinymce 的使用
- dotnet core 在 MAC 系统下删除应用程序自己后调 Process Start 方法将会抛出 Win32 异常
- 如何从高德获取地铁数据
- Yaconf - windows 环境下的高性能配置操作
- [ 物联网篇 ] 26 -ALSA Plug 中 multi 的应用