杭电OJ1789、南阳OJ236(贪心法)解题报告
杭电OJ1789http://acm.hdu.edu.cn/showproblem.php?pid=1789
南阳OJ236http://59.69.128.203/JudgeOnline/problem.php?pid=236
1、最简单的贪心法是只有一个东西需要考虑(如安排会场,只需要将 "时间" 进行排序),
即使需要考虑两个,也有一个明显的先后顺序(比如应先考虑开头时间,开头一样的,再找结束时间早的)
2、而稍难的问题如这两个题目的贪心法则是建立在两个处于平行地位的东西上进行的,(因为都需要同时考虑,如杭电OJ的时间与分数平等地位,南阳OJ的重量和长度地位平等)
这个时候就需要对其中一个排序,对另一个通过for循环的形式进行遍历选择。
如杭电OJ中由于既要考虑期限大小,又要考虑分数高低,并且显然二者的地位是平等的,这时就需要先对其中一个进行排序,然后通过一个for循环进行遍历选择
具体操作为:首先将分数按大小排序,然后利用双层for循环(外层构造情景,也就是过程,内层进行遍历找到最优解)找到每个步骤的最优解
再具体一点就是:分数按照大小排序之后,先利用一个外层for来营造情景(也就是过程,本题为日期(第%d天)),然后利用内层for通过按顺序遍历排好序的数组找到最优解
再如南阳OJ由于既要考虑木棒长度,又要考虑木棒的重量,并且二者的地位是相等的,这是也就需要先对其中一个进行排序,然后通过一个for循环进行遍历选择
具体操作是:首先将木棒长度排序,然后利用双层for循环(外层构造情景,也就是过程,内层进行遍历找到最优解)找到每个步骤的最优解
再具体一点就是:木棒按照长度排序之后,先利用一个外层for构造情景(也就是过程,本题为前一个木板的重量),然后利用内层for通过按顺序遍历排好序的数组找到最优解
概括一下就是先将其中一个变量 a 进行排序, 然后利用外层for与另一个变量b构造出过程,然后内层根据b 的最优进行遍历即可
(因为通过a的排序已经将化为最优,现在只需用循环找最优b即可)
杭电OJ1789、南阳OJ236(贪心法)解题报告的更多相关文章
- Codeforces Round #211 (Div. 2) D题(二分,贪心)解题报告
---恢复内容开始--- 题目地址 简要题意: n个小伙子一起去买自行车,他们有每个人都带了一些钱,并且有公有的一笔梦想启动资金,可以分配给任何小伙子任何数值,当然分配权在我们的手中.现在给出m辆自行 ...
- 杭电 OJ 提交代码需要注意的问题
杭电acm 提交代码需要注意的问题 1. 用 Java 的时候类名请用 Main 2. Java 提交出现 PE 的可能原因有 1) 最基本的错误是空格问题,比如注意每行的末尾是否输出空格 2) 用 ...
- 杭电dp题集,附链接还有解题报告!!!!!
Robberies 点击打开链接 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和- 把状态转移方程写成了f ...
- HDU 4864 Task (贪心+STL多集(二分)+邻接表存储)(杭电多校训练赛第一场1004)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4864 解题报告:有n台机器用来完成m个任务,每个任务有一个难度值和一个需要完成的时间,每台机器有一个可 ...
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- acm入门 杭电1001题 有关溢出的考虑
最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...
- 杭电ACM题单
杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...
- 杭电oj 4004---The Frog Games java解法
import java.util.Arrays; import java.util.Scanner; //杭电oj 4004 //解题思路:利用二分法查找,即先选取跳跃距离的区间,从最大到最小, // ...
- 杭电acm习题分类
专注于C语言编程 C Programming Practice Problems (Programming Challenges) 杭电ACM题目分类 基础题:1000.1001.1004.1005. ...
随机推荐
- ArcGIS API for Silverlight 的重要内容******重要
ArcGIS Silverlight API:是构建在微软Silverlight平台之上,通过ArcGIS Server Rest API消费ArcGIS Server 服务,同时支持直接消费Bing ...
- python-day14--带参数的装饰器+多个装饰器装饰同一个函数
1.# 带参数的装饰器def f1(flag): def f2(func): def inner(*args,**kwargs): if flag: '''执行函数之前要做的''' r=func(*a ...
- hdu-2147-博弈
kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/10000 K (Java/Others)Total ...
- oracle传入一个可能为空的参数进行查询
在我们数据库的表中的某些字段可能为空,且传入的查询参数也可能为空. 例如 ,,); 其查询结果集如下 MAPPING_ID PARTY_ID VENDOR_ID SUPPLIER_REG_ID 332 ...
- Object是个什么鬼
引言 老人常说,在js中,一切皆对象,那对象又是什么涅,最常用的我们都知道,对象有方法和属性.由一些键值对构成的集合,然后随便用个大括号括起来就形成了一个对象.看起来蛮简单的,但是真是这么简单么,当我 ...
- spring boot 学习(六)spring boot 各版本中使用 log4j2 记录日志
spring boot 各版本中使用 log4j2 记录日志 前言 Spring Boot中默认日志工具是 logback,只不过我不太喜欢 logback.为了更好支持 spring boot 框架 ...
- linux和window是文件挂载
1. 首先在windows下面创建share文件夹并设置共享(右键->属性->共享)2. 确认ubuntu安装了mount.cifs,apt-get install mount.cifs ...
- PHP:第二章——PHP中的流程控制语句
if语句的集中形式 <?php /*if(条件) 语句; if(条件){语句块} if(条件){语句或语句块}else{语句或语句块} if(条件){语句或语句块}elseif(条件){语句或语 ...
- jsp config设置jsp页面
jsp-config jsp-config功能:用于设定jsp页面的相关设置(web.xml 版本在2.4之后) 常用的设置包括 taglib和jsp-property-group两个子元素.其中ta ...
- POJ 2566 Bound Found 尺取 难度:1
Bound Found Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 1651 Accepted: 544 Spec ...