洛谷 P6359 [CEOI2018] Cloud computing

news2024/12/28 3:24:19

题目本质:贪心+01背包(dp)

题目思路:dp[i][j] 表示考虑前 i 台计算机,能够获得 j 个核心时,所能获得的最大价值。将其可以优化为dp[i] 表示能够获得 i 个核心时,所能获得的最大价值。

状态转移方程:

对于原来n 台计算机,可得状态转移方程:

dp[j+p[i].c]=max(dp[j+p[i].c],dp[j]+p[i].v); 

对于m台顾客需求的计算机,可得状态转移方程:

dp[j]=max(dp[j],dp[j+p[i].c]+p[i].v);

将数组初始化为无穷小,利用max找最大值,用cnt记录最大利润。

代码如下:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN=2*1e3+5;
const int MAXM=2*1e5+5;
ll n,m;
ll dp[MAXM];
ll cnt,ans;
struct node{
	ll c,f,v;
}p[MAXN*2];
bool cmp(node x,node y){
	if (x.f!=y.f){
		return x.f>y.f;
	}
	return x.v<y.v;
}
int main(){
	memset(dp,-0x3f,sizeof(dp));
	scanf("%lld",&n);
	for(int i=1;i<=n;++i){
		scanf("%lld %lld %lld",&p[i].c,&p[i].f,&p[i].v);
		p[i].v=-p[i].v;
	}
	scanf("%lld",&m);
	for(int i=n+1;i<=n+m;++i){
		scanf("%lld %lld %lld",&p[i].c,&p[i].f,&p[i].v);
	}
	sort(p+1,p+n+m+1,cmp);
	dp[0]=0;
	for(int i=1;i<=n+m;++i){
		if (p[i].v>0){
			for(int j=0;j<=cnt;++j){
				dp[j]=max(dp[j],dp[j+p[i].c]+p[i].v);
			}
		}
		else{
			for(int j=cnt;j>=0;--j){
				dp[j+p[i].c]=max(dp[j+p[i].c],dp[j]+p[i].v);
			}
			cnt=cnt+p[i].c;
		}
	}
	for(int i=0;i<=cnt;++i){
		ans=max(ans,dp[i]);
	}
	printf("%lld\n",ans);
	return 0;
}

 

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

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

相关文章

jira敏捷开发管理工具视频教程Confluence工作流协同开发(2024)

正文&#xff1a; 随着Jira敏捷开发方法论的普及&#xff0c;Jira已经成为全球软件开发团队管理项目、任务和问题的首选工具。为了帮助团队更好地掌握Jira的核心功能&#xff0c;精心准备了一套全面开发技术及案例视频教程——《Jira敏捷开发管理工具视频教程Confluenc…

学习大数据DAY38 hive 安装与配置

目录 hadoop 大数据平台-hive 组件部署介绍 hadoop 大数据平台-Hive 部署步骤 教学视频 上机作业 hadoop 大数据平台-hive 组件部署介绍 metastore:保存关于表、列、分区、数据格式、存储位置等各种元数据信 Driver:负责与 Hive 服务器建立网络连接&#xff0c;使客户端能…

Unity的动画系统

目录 Unity动画系统的最新更新和改进有哪些&#xff1f; 如何在Unity中高效地使用Animator组件进行复杂动画制作&#xff1f; Unity动画系统中的动画混合和分层功能是如何工作的&#xff1f; 动画混合&#xff08; blend tree&#xff09; 动画分层 在Unity中创建和管理动…

一键运行RocketMQ5.3和Dashboard

一键运行RocketMQ5.3和Dashboard 目录 一键运行RocketMQ5.3和Dashboard通过Docker Compose 来一键启动运行的容器包括docker-compose.yml文件运行命令启动本地效果查看 参考信息 通过Docker Compose 来一键启动 运行的容器包括 NameServerBrokerProxyDashBoard docker-compo…

RabbitMQ消息队列总结(❤❤❤❤❤)

RabbitMQ那些事 参考一. `RabbitMQ`介绍1.1 Java工程师1.1.1 RabbitMQ学习目标1.1.2 消息队列介绍1.1.3 RabbitMQ介绍各自属性介绍(❤❤❤)二. `RabbitMQ`安装1. 基于Linux1.1 安装1.2 常用命令1.3 后台管理开启与面板介绍三. 客户端`SDK`操作(❤❤了解)1. 客户端依赖2. 生产者…

微信消息防撤回插件

该软件可以恢复别人撤回的消息。 版本特色&#xff1a; 1、看到对方撤回的消息 2、多账号可正常登录 修改原理&#xff0c;如下图&#xff1a; 使用说明&#xff1a; 1、需电脑登录 2、解压后&#xff0c;双击start_wechat.bat来运行软件 下载地址&#xff1a;Wechat防撤…

UE基础 —— 资产和内容包

目录 直接导入资产 使用资产 创建资产 资产引用 管理资产 移动和复制资产 删除资产 导出资产 迁移资产 资产元数据 在虚幻编辑器UI中使用元数据 使用资产元数据 自动重新导入 查找资产引用 替换引用工具 Class Viewer 全局资产选取器 Property Matrix 引擎项…

以node / link文件表征的道路网络-----基于南京公路公开数据做路径规划(下)------dijkstra算法的一些简单花样

在不改变dijkstra算法本身的情况下&#xff0c;完全可以从数据源的角度出发&#xff0c;解决我们的一些简单需求&#xff1a; 比较初级且粗暴的玩法&#xff0c;可以是强行赋予一些link极端的路段长度。 对于我们坚决不希望车辆行驶的道路、禁行区、或是危险区&#xff0c;就…

局域网基础技术详解

虽然在学校学了计算机网络&#xff0c;但还是有些东西要自己去了解。所以这篇博客也算是学校课程和我在网上查找资料总结的一些关于局域网基础技术知识。 一、傻瓜式交换机 一种即插即用、未管理的交换机&#xff0c;不需人工配置的低端交换机。只提供基本的网络连接功能&#…

koa+puppeteer爬虫实践

最近工作中遇到一个使用nodejs实现爬虫程序的任务。需求背景是这样的&#xff1a;公司运营的一个老项目运营那边最近提了SEO优化的需求&#xff0c;但是项目本身并没有做SSR(服务端渲染)&#xff0c;公司的要求是花费的人力成本最低&#xff0c;代价最小。在经过一番调研之后团…

Route路由 Vue2

1.路由的概念 2.路由的基本使用 1.安装 因为我们使用的是Vue2 所以使用的 router 是 3版本 当使用Vue3 的时候就使用 router4 npm i vue-router3 2.简单使用 /router/index.js //该文件专门创建整个应用的路由器import VueRouter from vue-router; //引入组件 import MyA…

谷粒商城实战笔记-179~183-商城业务-检索服务-SearchRequest和SearchResponse构建

文章目录 一&#xff0c;179-商城业务-检索服务-SearchRequest构建-检索1&#xff0c;Controller接口 二&#xff0c;180-商城业务-检索服务-SearchRequest构建-排序、分页、高亮&测试三&#xff0c;181-商城业务-检索服务-SearchRequest构建-聚合四&#xff0c;182-商城业…

x64汇编语言与逆向工程实战指南(一)

逆向程序demo网址&#xff1a;https://crackmes.one/&#xff0c;下载的压缩包密码均为.cracksme.one或cracksme.de 实例一&#xff1a;基本 网络钓鱼密码程序 破解 目录 1. DIE确定程序基本信息1.1 DIE程序与下载1.2 分析demo的架构 2. x64dbg调试获取密码2.1 功能初探2.2 调试…

C++基础——合集

1.C关键字&#xff08;C98&#xff09; C总计63个关键字&#xff0c;C语言32个关键字 2.命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存 在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的…

虚拟机可以玩Steam游戏吗?虚拟机怎么玩Steam Windows游戏 PD19虚拟机玩Steam

你有没有在苹果电脑上玩游戏的需求呢&#xff1f;很多人认为只有“双系统”才能实现Mac电脑运行Windows操作系统&#xff0c;其实不然&#xff0c;近些年来&#xff0c;虚拟机技术在不断发展&#xff0c;越来越多的苹果用户开始使用虚拟机在苹果设备上玩游戏。Steam是一个非常受…

【运维高级内容--KEEPALIVED高可用集群】

目录 1.简介 2.实现master/slave的 Keepalived 单主架构 3.vip通行 &#xff08;ping通: 4.启用日志功能 5.实现独立子配置文件 6.非抢占式模式 7.抢占延迟模式 8.单播配置 9.keepalived状态切换的通知脚本 10.双主结构&#xff1a;两个虚拟路由&#xff08;多主模式&…

精武杯的部分复现

标红的为答案 计算机手机部分 1、请综合分析计算机和⼿机检材&#xff0c;计算机最近⼀次登录的账户名是&#xff1f;admin 2.请综合分析计算机和⼿机检材&#xff0c;计算机最近⼀次插⼊的USB存储设备串号是?S3JKNX0JA05097Y 3.请综合分析计算机和⼿机检材&#xff0c;谢弘…

Xilinx FPGA:vivado关于以太网的零碎知识点

一、OSI七层模型 为了实现网络通信的标准化&#xff0c;普及网络应用&#xff0c;国际标准化组织&#xff08;ISO&#xff09;将整个以太网通信结构制定了OSI模型&#xff0c;即开放式系统互联。 OSI定义了网络互连的七层框架&#xff08;物理层、数据链路层、网络层、传输层、…

web前端之html弹窗面板的popover新属性

MENU 前言效果图htmlstyle 前言 1、代码段的功能是在网页上实现一个弹出框。当用户点击"Open Popup"按钮时&#xff0c;会显示一个中央定位的弹出框&#xff0c;弹出框里有"This is a popup"文本&#xff0c;以及两个按钮(“Close"和"confirm”)…

XXX【3】模板方法

一.GOF-23 模式分类 从目的来看&#xff1a; 创建型模式&#xff1a;解决对象创建的工作。结构型模式&#xff1a;解决需求变化为对象结构带来的冲击。行为型模式&#xff1a;解决多个类交互之间责任的划分问题。 从范围来看&#xff1a; 类模式处理类与子类的静态关系&…