[Jobdu] 题目1499:项目安排

题目描述:

小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个项目后,拿到报酬都是不同的。由于小明马上就要硕士毕业了,面临着买房、买车、给女友买各种包包的鸭梨,但是他的钱包却空空如也,他需要足够的money来充实钱包。万能的网友麻烦你来帮帮小明,如何在最短时间内安排自己手中的项目才能保证赚钱最多(注意:做项目的时候,项目不能并行,即两个项目之间不能有时间重叠,但是一个项目刚结束,就可以立即做另一个项目,即项目起止时间点可以重叠)。

 

输入:

输入可能包含多个测试样例。
对于每个测试案例,输入的第一行是一个整数n(1<=n<=10000):代表小明手中的项目个数。
接下来共有n行,每行有3个整数st、ed、val,分别表示项目的开始、截至时间和项目的报酬,相邻两数之间用空格隔开。
st、ed、value取值均在32位有符号整数(int)的范围内,输入数据保证所有数据的value总和也在int范围内。

 

输出:

对应每个测试案例,输出小明可以获得的最大报酬。

 

样例输入:
3
1 3 6
4 8 9
2 5 16
4
1 14 10
5 20 15
15 20 8
18 22 12
样例输出:
16
22

网易有道2013年校园招聘面试二面试题

动态规划,先按项目结束时间排序,用数组a[]来存储如果安排第i个项目时所得的最大收益。

 

 1 #include <iostream>
 2 #include <vector>
 3 #include <algorithm>
 4 #include <cstdio>
 5 using namespace std;
 6 
 7 struct proj {
 8     int st;
 9     int ed;
10     int val;
11 };
12 
13 bool cmp(const proj &p1, const proj &p2) {
14     return p1.ed < p2.ed;
15 }
16 
17 int main() {
18     //freopen("input.txt", "r", stdin);
19     int n;
20     while (cin >> n) {
21         vector<proj> v;
22         proj p;
23         p.st = 0;
24         p.ed = 0;
25         p.val = 0;
26         v.push_back(p);
27         int *a = new int[n+1];
28         int i, j;
29         for (i = 1; i <= n; ++i) {
30             cin >> p.st >> p.ed >> p.val;
31             v.push_back(p);
32             a[i] = 0;
33         }
34         sort(v.begin(), v.end(), cmp);
35         a[0] = 0;
36         a[1] = v[1].val;
37         for (i = 2; i <= n; ++i) {
38             for (j = i - 1; j > 0; --j) {
39                 if (v[i].st >= v[j].ed) 
40                     break;
41             }
42             a[i] = a[j] + v[i].val;
43             a[i] = a[i] > a[i-1] ? a[i] : a[i-1];
44         }
45         cout << a[n] << endl;
46     }
47     return 0;
48 }

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276379.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

How to: Display a Gradient Fill

To display a gradient fill 第一步&#xff1a;In Visual Studio, create a Smart Device project. 第二部&#xff1a;Add the Gradientfill and GradientFilledButton classes to your project. public sealed class GradientFill{ // This method wraps the …

能在任意一种框架中复用的组件,太牛了!

Web Component 是一种 W3C标准支持的组件化方案&#xff0c;通过它可以编写可复用的组件&#xff0c;同时也可以对自己的组件做更精细化的控制。更牛的是&#xff0c;Web Component 可以在任何一种框架中使用&#xff0c;不用加载任何模块、代码量小&#xff0c;优势非常明显&a…

stm32cubemx中文_用 STM32 通用定时器做微秒延时函数(STM32CubeMX版本)

概述​ 在使用 DHT11 的时候&#xff0c;时序通信需要微秒来操作&#xff0c;STM32CubeMX 自带一个系统时钟&#xff0c;但是实现的是毫秒级别的。因此就自己用通用计时器实现一个。文章目录环境&#xff1a;开发板&#xff1a;STM32F4探索者&#xff08;正点原子&#xff09;1…

MySQL索引类型一览 让MySQL高效运行起来

转载链接&#xff1a;http://database.51cto.com/art/200910/156685.htm 索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。 在数据库表中&#xff0c;对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytabl…

431.chapter2.configure database mail

SQL Database Mail SQL 2005数据库邮件是一种通过 Microsoft SQL Server 2005 Database Engine 发送电子邮件的企业解决方案。通过使用数据库邮件&#xff0c;数据库应用程序可以向用户发送电子邮件。邮件中可以包含查询结果&#xff0c;还可以包含来自网络中任何资源的文件。数…

人脸识别拷勤门禁主板_捷易讲解AI无感人脸识别考勤门禁终端设备在使用中的维护方法...

人脸识别考勤门禁终端设备虽然在出厂时&#xff0c;都有做密封处理&#xff0c;但面对细小的灰尘&#xff0c;并没有做到百分百防尘。灰尘对于AI无感人脸识别考勤门禁终端设备是有一定的影响的&#xff0c;他会沉淀在主板上、屏幕上&#xff0c;影响设备散热和正常工作&#xf…

【翻译】How-To: Using the N* Stack, part 3

原文地址&#xff1a;http://jasondentler.com/blog/2009/08/how-to-using-the-n-stack-part-3/ Java – 一种代码松散的XML 在我们学习 Fluent NHibernate 之前, 应该先了解下老式的 NHibernate 映射文件应该是怎样写的。 在一个典型的 NHibernate 配置中&#xff0c;你会有很…

你可能需要的网易前端三轮面经

关注若川视野, 回复"pdf" 领取资料&#xff0c;回复"加群"&#xff0c;可加群长期交流前言最近一个星期面了几家公司&#xff0c;最后收获了心仪的网易有道offer&#xff0c;于是推掉了其他的面试&#xff0c;至于一些其他大厂&#xff0c;并没有投简历&am…

PHP yii 框架源码阅读(一)

转载链接&#xff1a;http://www.th7.cn/Program/php/2012/04/03/67983.shtml 目录文件 |- framework 框架核心库 |-|- base 底层类库文件夹&#xff0c;包 含CApplication(应用类&#xff0c;负责全局的用户请求处理&#xff0c;它管理的应用组件集&#xff0c;将提供特定功…

复习.net/c#时的小文章之万年草稿版 (全是基础概念,请懂的人绕行)

必读文&#xff1a;61条面向对象设计的经验原则&#xff08;体会篇&#xff09; C#知识点集合 (面试必备)一、显式(explicit)转换和隐式(implicit)转换的一般概念int i 100; Response.Write(i); // 这就是隐式 Response.Write(i.ToString()); // 这就是显式 一般来讲&#xff…

timertask run函数未执行_图执行模式下的 TensorFlow 2

文 / 李锡涵&#xff0c;Google Developers Expert本文节选自《简单粗暴 TensorFlow 2.0》尽管 TensorFlow 2 建议以即时执行模式(Eager Execution)作为主要执行模式&#xff0c;然而&#xff0c;图执行模式(Graph Execution)作为 TensorFlow 2 之前的主要执行模式&#xff0c…

AJAX自学笔记01

从今天开始正式系统学习asp.net ajax了。XMLHttpRequest对象属性&#xff1a;Number readyState (返回值4表示完成)Function onreadystatechange (执行回调函数)string responseText &#xff08;返回字符串型&#xff09;XMLDocument responseXML&#xff08;返回XML型&#x…

如何从 0 到 1 打造团队 PC/H5 构建工具

关注若川视野, 回复"pdf" 领取资料&#xff0c;回复"加群"&#xff0c;可加群长期交流学习一、前言 大家好&#xff0c;我叫鳗鱼&#xff0c;这次分享的主题是如何从 0 到 1 打造适合自己的构建部署方案。image.png先例行的自我介绍&#xff0c;大概 14 年…

PHP yii 框架源码阅读(二) - 整体执行流程分析

转载链接&#xff1a;http://tech.ddvip.com/2013-11/1384432766205970.html 一 程序入口 <?php// change the following paths if necessary $yiidirname(__FILE__)./http://www.cnblogs.com/framework/yii.php; $configdirname(__FILE__)./protected/config/main.php;/…

HTTP状态码大全

完整的 HTTP 1.1规范说明书来自于RFC 2616&#xff0c;你可以在http://www.talentdigger.cn/home/link.php?urld3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性&#xff0c;因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客…

testng接口自动化测试_Java+Maven+TestNG接口(API)自动化测试教程(10) 使用 Jenkins 构建自动化测试持续集成...

现在代码可以运行了&#xff0c;但是每次运行都需要我们手工去执行&#xff0c;并且测试报告也只能在执行测试的电脑上才能看到&#xff0c;我们希望能够定时自动执行测试&#xff0c;并且能够做到自动发送测试报告到相关人员的电子邮箱中。Jenkins 正好可以很好的完成以上诉求…

sql数据类型详解

BCD码1字符1/2字节 ASC码1字符1字节 GB2312码1字符2字节 BIG5码1字符5字节 (1)二进制数据类型 二进制数据包括 Binary、Varbinary 和 Image  Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。  Binary[(n)] 是 n 位固定的二进制数据。其中&#xff0c;n 的取…

论公众号内卷

关注若川视野, 回复"pdf" 领取资料&#xff0c;回复"加群"&#xff0c;可加群长期交流学习曾几何时公众号文章的标题单纯且没有套路七年前的我就是这样仅仅把公众号当做一个写文章的博客平台甚至是像有道云一样的在线笔记平台当时的标题是这样子滴《hashma…

PHP 利用Mail_MimeDecode类提取邮件信息

转载链接:http://blog.csdn.net/laijingyao881201/article/details/5512693 重点为one_mail函数。利用Mail_mimeDecode类从邮件中提取邮件头和邮件正文。 <?php header("content-type:text/html; charsetUTF-8"); /** record kid words and insert into databa…

【转】概要设计说明书

概要设计说明书 一&#xff0e; 引言 1&#xff0e; 编写目的 从该阶段开发正式进入软件的实际开发阶段&#xff0c;本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程&#xff0c;这种表示只是描绘出软件的…