非单位时间任务安排问题

问题&数据输入&数据输出:

思路:

  首先将任务按其截止时间非减序排序。

  对任务 1 , 2 , …… , i,如果截止时间为 d ,则最小误时惩罚为 p( i , d ) 。

  其中 p( i , d ) = min{ p(i-1, d)+wi  ,  p(i-1, min{d, di}-ti) }

   p(i-1, d)+wi 表示决定不做第 i 个任务,p(i-1, min{d, di}-ti) 表示决定要做第 i 个任务,这时必须在第 i 个任务的截至时间前做完它(即 min{d, di}-ti )

  

代码:

  参考:http://blog.csdn.net/u012319493/article/details/50018661

时间: 2024-08-11 06:07:13

非单位时间任务安排问题的相关文章

应对Deadline,时间怎么安排?

问题定义 项目过程中,每项任务都是有时间要求的,一般体现为"截止时间",即Deadline. 如何安排时间,才能在Deadline之前完成任务呢? 有效实践 错误做法 在Deadline之前刚刚好完成?这是Zuo&Die的节奏. 自己认为完成了,提交给领导审查,如果发现不成,再回来改,已经超出Deadline了. 如果完全领会错了任务要求,要完全返工呢?只能是Mission Failed了. 为了按时而且保质保量完成任务,我推荐的"有效实践"包括以下几条:

学习方法,以及时间的安排。

1. 合理的分配时间 在某个固定的时间点学习.当感觉注意力不集中的时候休息一段时间. 2.  建立整体观,搭建知识结构. 看一篇文章先看整体结构和互相之间的依存关系,在深入学习,更具自己的实际情况看是否适合学习这篇文章或者这本书. 第一遍:快速浏览目录和内容,内容不必深究,主要建立起对书本内容的整体认知. 第二遍:根据第一遍的快速浏览,了解书籍里哪些章节是重要的,哪些章节是次要的.哪些章节对自己有用,哪些章节可以忽略不看,哪些章节是次重要的.哪些章节的内容自己之前已经了解了,哪些章节是自己完全不

DRF之限制单位时间访问次数

1.节流源码流程: # step 1 def dispatch(self, request, *args, **kwargs): try: self.initial(request, *args, **kwargs) # step 2 def initial(self, request, *args, **kwargs): self.perform_authentication(request) # 先认证 self.check_permissions(request) # 随后权限管理 sel

JSP代码实现简易的登入操作并进行验证账户非活动时间的有效时长

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <

时间管理四代理论发展

时间管理的四代理论发展历程: 第一代:时间增加和备忘录 第一个阶段称为时间的单纯增加和备忘录,时间的增加是指时间不够用,而工作任务比较多的时候,就单纯的加班加点,延长工作时间.备忘录就是把所有要做的项目列出来,制成一个工作任务清单,做一件事,勾掉一件,以此种方法进行时间的分配和使用.它一方面是顺其自然,另一方面也会追踪时间的安排,备忘录管理特色就是写纸条,这种备忘可随身携带,忘了就要把它拿出来翻一下,如果今天一天结束完成了大部分的事情,就可以在备忘录上划掉,否则就要增列到明天的备忘录上,所以叫备

linux在shell中获取时间

获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期 date -d next-day +%Y%m%d 获取昨天的日期 date -d last-day +%Y%m%d 获取上个月的年和月 date -d last-month +%Y%m 获取下个月的年和月date -d next-month +%Y%m 获取明年

《时间投资法》读书笔记

<时间投资法>胜间和代 推荐:5星 阅读时间:3-4小时: 时间管理的关键并不在于提高要做的事的效率,而在于确定不该做的事. 时间管理的书籍也阅读了一些,本书给了我一些新鲜的观点: 1.首先是时间投资的概念,之前接触到的书,谈的都是时间管理,如何有效的管理时间,提高生产效率,而本书却将时间视作一种资产,用于投资.全书灌输的一种观念也正是投资,如何投资时间,才能使收益最大化.因为有了投资的概念,在做任何事之前,就有一个收益规划比,比如要进行一次家庭清洁大扫除,首先会核算这一天的时间成本,按个人的

Beta版本冲刺计划及安排

经过紧张的Alpha阶段,很多组已经从完全不熟悉语言和环境,到现在能够实现初步的功能.下一阶段即将加快编码进度,完成系统功能.强化软件工程的体会.Beta阶段的冲刺时间为期七天,安排在2016.12.3--2016.12.16之间.同时在2016.12.20前,针对相应版本展开用户试用,完成一份用户试用的调查报告.在冲刺阶段七天的每一天,依然需要发布一篇博客,描述:1.昨天的困难,今天解决的进度,以及明天要做的事情 2.每个人每天的做的事情, 3.源代码都有哪些 check-in.   同时,要

1572: [Usaco2009 Open]工作安排Job

1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 814  Solved: 365[Submit][Status] Description Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有1000000000个单位时间(!).在任一时刻,他都可以选择编号1~N的N(1 <= N <= 10