贪心+背包

这道题比较坑的就是我们的对于相同截止时间的需要排个序,因为我们这个工作是有时间前后顺序的,我们如果不排序的话我们一些截止时间晚的工作就无法得到最优报酬

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

#define int long long
int t;
int n;
const int N = 5005;
struct node{
	int t,end,pr;
	int start;
	bool operator<(node b){
		if(end<b.end) return 1;
		return 0;
	}
}e[N];
int ans = 0;

int dp[N];

signed main(){
	cin >> t;
	while(t--){
		cin >> n;
		int tmax = 0;
		for(int i=1;i<=n;i++){
			cin >> e[i].t >> e[i].end >> e[i].pr;
			e[i].start = e[i].end - e[i].t;
			tmax = max(tmax,e[i].end);
		}
		sort(e+1,e+1+n);
		for(int i=0;i<=5004;i++) dp[i] = 0;
		for(int i=1;i<=n;i++){
			for(int j=e[i].end;j>=e[i].t;j--){
				dp[j] = max(dp[j],dp[j-e[i].t]+e[i].pr);
			}
		}
		int ans = 0;
		for(int i=1;i<=tmax;i++) ans = max(ans,dp[i]);
		cout << ans << endl;
	}
	return 0;
}
相关推荐
@insist1231 分钟前
信息安全工程师-密码学专题(上):密码学核心框架与基础体系梳理
算法·密码学·软考·信息安全工程师·软件水平考试
承渊政道2 分钟前
【动态规划算法】(从入门到精通:路径问题)
数据结构·c++·学习·算法·leetcode·macos·动态规划
FakeOccupational6 小时前
【数学 密码学】量子通信:光的偏振&极化的量子不确定性特性 + 量子密钥分发 BB84算法步骤
算法·密码学
ZhengEnCi8 小时前
S10-蓝桥杯 17822 乐乐的积木塔
算法
贾斯汀玛尔斯8 小时前
每天学一个算法--拓扑排序(Topological Sort)
算法·深度优先
大龄程序员狗哥8 小时前
第25篇:Q-Learning算法解析——强化学习中的经典“价值”学习(原理解析)
人工智能·学习·算法
exp_add38 小时前
质数相关知识
算法
小辉同志9 小时前
215. 数组中的第K个最大元素
数据结构·算法·leetcode··快速选择
小O的算法实验室10 小时前
2025年IEEE TITS,基于矩阵的进化计算+面向无线传感器网络数据收集无人机路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
OidEncoder10 小时前
编码器分辨率与机械精度的关系
人工智能·算法·机器人·自动化