题目一份工作有开始时间和结束时间以及价值三个属性,在0时到11时一共有8份工作可以自有安排。一个人应该如何安排才能够收获最大工资?注意:只能同时干一份工作。解题思路首先对所有工作按照结束时间升序排列,求出假如选择第n份工作的情况,上一份工作的下标prev(n),并填入数组。接下来就是使用动态规划解题,分别对选择第n份工作和不选第n份工作获取的价值进行对比,择出较大价值的填入opt数组。代码实...
代码#define ElemType int #define Status int #define OK 0 #define OVERFLOW -1 #define ERROR -1 #define MAXSIZE 100 using namespace std; #include<bits/stdc++.h> //结构定义 typedef struct { ElemT...
代码#define ElemType int #define Status int #define OK 0 #define OVERFLOW -1 #define ERROR -1 using namespace std; #include<bits/stdc++.h> //双向链表结构 typedef struct DuLNode{ ElemType data; ...
前言这部分代码还有一点地方不完善,没有考虑到操作链表中第一个元素的情况,有想法的可以自己修改,其实都差不多的。代码#define ElemType int #define Status int #define OK 0 #define OVERFLOW -1 #define ERROR -1 using namespace std; #include<bits/stdc++.h>...