杭电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. ...
随机推荐
- Paket介绍
在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目 ...
- SVN同步版本库与网站目录2
定义: SVN版本库 = /home/svn/repos 网站目录 = /var/www/web 1.检出一个项目到网站目录 #svn checkout file:///home/svn/ ...
- JSP中scope属性 scope属性决定了JavaBean对象存在的范围
scope属性决定了JavaBean对象存在的范围. scope的可选值包括: ---page(默认值) ---request ---session ---application 1.page范围 ...
- .net 获取邮箱邮件列表和内容
需求: 最近项目里遇到了个问题,对方没有提供直接获取数据源的api接口,而是通过邮件发数据的.这就需要接收邮件后解析邮件内容获得数据. 分析: 想在代码里实时获取邮件,可以通过邮件的几个协议来实现,常 ...
- WPF中的Style(风格,样式)
作者: 周银辉 来源: 博客园 发布时间: 2009-02-27 15:04 阅读: 6698 次 推荐: 0 原文链接 [收藏] 在WPF中我们可以使用Style来设置控件的某些 ...
- Mac安装软件时 提示已损坏的解决方法
进入终端: sudo spctl --master-disable
- Android动画(Animations)
动画类型Android的animation由四种类型组成 XML中 alpha : 渐变透明度动画效果 scale :渐变尺寸伸缩动画效果 translate : 画面转换位置移动动画效果 ro ...
- laravel时间判断
$now = Carbon::now(); if ($now >= '2019-01-02') { }
- Leetcode 78
//和77类似的问题,可以放在一起记忆class Solution { public: vector<vector<int>> subsets(vector<int> ...
- 基于PU-Learning的恶意URL检测——半监督学习的思路来进行正例和无标记样本学习
PU learning问题描述 给定一个正例文档集合P和一个无标注文档集U(混合文档集),在无标注文档集中同时含有正例文档和反例文档.通过使用P和U建立一个分类器能够辨别U或测试集中的正例文档 [即想 ...