CF1839B Lamps

news2024/10/6 16:23:37

思路

这道题我们可以利用贪心的思想。

我们这里把 a i a_i ai理解为第 a i a_i ai层灯。

在层数相同的灯被破坏之后,灯的个数就会减少到 0 0 0,所以它一定不会影响到之后下一层的灯。

所以,我们贪心的思路是:
将每一层(从第一层升序选)的灯的价值(即 b i b_i bi)进行排序,对于该层没有被破坏的情况下,每一次选取在没有开着的灯中的价值的最大值

下面我们讲解一下为什么 a i a_i ai层不会影响到 a i + 1 a_i+1 ai+1层的灯:

红色为开着的点,假设我们这时又开了第三层的一个点:

此时第二层就会破坏了。
所以第三层还是可以亮三盏灯。

综上所述,在第 a i a_i ai层,就可以亮 a i a_i ai盏灯!


代码

#include <iostream>
#include <algorithm>
#include <vector>
#define int long long

using namespace std;

const int N = 2e5 + 10;

int Data;
int n, a, b;
vector<int> lamp[N];

signed main()
{
	cin >> Data;
	
	while (Data --)
	{
		cin >> n;
		
		for (int i = 1; i <= n; i ++)
			lamp[i].clear();
		
		for (int i = 1; i <= n; i ++)
			cin >> a >> b, lamp[a].push_back(b); //把这一层的点放入
			
		for (int i = 1; i <= n; i ++)
			sort(lamp[i].begin(), lamp[i].end()); //将这一层的价值排序
			`
		int lamps = 0, res = 0;
		for (int i = 1; i <= n; i ++)
			if (lamp[i].size()) //如果这一层有灯
				for (int j = i, k = lamp[i].size() - 1; j && k >= 0; j --, k --) //因为是从小到大排序的,所以到这枚举!
					res += lamp[i][k];
		
		cout << res << endl;
	}
}

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

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

相关文章

FreeRTOS学习(五)

延时函数 vTaskDelay()&#xff1a;相对延时&#xff0c;指每次延时都是从执行函数vTaskDelay()开始&#xff0c;直到延时指定的时间结束。vTaskDelayUntil()&#xff1a;绝对延时&#xff0c;整个任务的运行周期看成一个整体&#xff0c;适用于需要按照一定频率运行的任务。 …

卡尔曼滤波与组合导航原理笔记(一)第二部分 卡尔曼滤波方程的推导

文章目录 三、卡尔曼滤波1、随机系统状态空间模型2、状态预测3、状态量测4、增益矩阵K与状态估计5、Kalman滤波公式汇总6、Kalman滤波流程图1.划分为左右两部分&#xff08;一阶矩和二阶矩&#xff09;2.划分为上下两部分&#xff08;时间更新、量测更新&#xff09; 7、Kalman…

Windows11安装kohya_ss详细步骤(报错、踩坑)

文章目录 笔者环境所需环境安装kohya_ss方式一&#xff1a;带有GUI的kohya_ss仓库方式二&#xff1a;kohya_ss核心仓库 笔者环境 OS&#xff1a;windows11Python&#xff1a;3.10.6CUDA11.6 所需环境 Python3.10.6GitCUDA11.6 安装kohya_ss 方式一&#xff1a;带有GUI的ko…

mybatis执行流程分析

mybatis全局配置文件 mybatis全局配置文件中涉及的标签如下图所示 配置文件解析 public static void main(String[] args) throws IOException {// 读取配置文件InputStream is Resources.getResourceAsStream("org/apache/ibatis/builder/MapperConfig1.xml");//…

chatgpt赋能python:Python多种颜色——提升SEO排名的技巧

Python多种颜色——提升SEO排名的技巧 在网站设计中&#xff0c;使用多种颜色可以提高用户体验和页面美观度。但你是否知道使用多种颜色还可以提高SEO排名呢&#xff1f;本文将介绍如何在Python代码中使用多种颜色来提高你的SEO排名。 什么是SEO&#xff1f; SEO的全称为“S…

chatgpt赋能python:Python备份文件夹:保障数据安全的最佳方法

Python备份文件夹&#xff1a;保障数据安全的最佳方法 数据备份是确保所有重要信息安全的关键部分。对于IT专业人士和计算机爱好者而言&#xff0c;文件夹备份是一项必不可少的任务。而Python是备份文件夹最流行的语言之一&#xff0c;因为它易于学习和使用。 在这篇文章中&am…

stable-diffusion基础问题记录

一、windows安装 1、启动 如果自己是anaconda&#xff0c;python版本不是3.10.6 conda create -n python_3_10_6 python3.10.6&#xff0c;创建一个这样的环境 修改webui-user.bat set PYTHOND:/software/Anaconda3/envs/python_3_10_6/python&#xff0c;把python换成这个…

【走进Linux的世界】Linux---基本指令(3)

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【Linux专栏】&#x1f388; 本专栏旨在分享学习Linux的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 date指令cal指…

12代CPU启用SR-IOV vGPU,实现一台电脑当七台用

背景 虚拟桌面基础设施&#xff08;VDI&#xff09;技术一般部署在服务器&#xff0c;可以实现多个用户连接到服务器上的虚拟桌面。随着桌面计算机性能的日益提升&#xff0c;桌面计算机在性能在很多场景下已经非常富余&#xff0c;足够同时满足多个用户同时使用的需求。实际项…

Redis的持久化详解

目录 一、Redis的持久化二、RDB&#xff08;Redis DataBase&#xff09;1、RDB快照原理2、RDB配置3、redis.conf 其他一些配置4、RDB的备份恢复5、RDB优缺点 三、AOF&#xff08;Append Of File&#xff09;1、AOF原理2、AOF配置3、AOF的备份恢复4、重写流程5、AOF优缺点 四、A…

MySQL | Windows服务器部署ZIP免安装版MySQL8.0+数据库笔记

Windows服务器部署ZIP免安装版MySQL8.0数据库笔记 文章目录 Windows服务器部署ZIP免安装版MySQL8.0数据库笔记下载MySQL压缩包编写配置文件环境变量初始化数据库安装MySQL服务安装错误&#xff1a;VCRUNTIME140_1.dll 登录 MySQL 下载MySQL压缩包 打开官网的下载页面&#xff…

POI报表的入门

POI报表的入门 理解员工管理的的业务逻辑 能够说出Eureka和Feign的作用 理解报表的两种形式和POI的基本操作熟练使用POI完成Excel的导入导出操作 员工管理 需求分析 企业员工管理是人事资源管理系统中最重要的一个环节&#xff0c;分为对员工入职&#xff0c;转正&#xff0c;离…

chatgpt赋能python:Python如何处理AI文件

Python如何处理AI文件 什么是AI文件&#xff1f; AI文件是Adobe Illustrator的标准文件格式。它包含了图形设计师所创建的矢量图形&#xff0c;这些矢量图形可以根据需要进行缩放和文件大小的调整。AI文件是专业印刷和设计领域中最常用的格式之一。 为什么要处理AI文件&…

深入ReentrantReadWriteLock

ReentrantReadWriteLock出现的原因 首先synchronized和ReentrantLock都是互斥锁&#xff0c;一个线程在获取锁资源之后另一个线程只能等待假设有一种情况是读多写少&#xff0c;并且确保线程安全。可以使用ReentrantReadWriteLock实现ReentrantReadWriteLock的特点是读读不互斥…

基于随身wifi的Tiny linux debian搭建教程

基于随身wifi的Tiny linux debian搭建教程 基于随身wifi的Tiny linux debian搭建教程基本信息进9008miko备份Qualcomm Premium Tool全分区备份 开adb刷debianssh连接扩展应用原版镜像测速ServerBox自动登录校园网 bug 基于随身wifi的Tiny linux debian搭建教程 基本信息 12芯…

Java8环境安装及配置

Java8环境安装及配置 一、下载JDK8二、安装三、环境变量配置四、验证 一、下载JDK8 本教程使用的是8u202版本&#xff0c;若需要其他版本可点击下方链接跳转下载。 Oracle下载&#xff0c;点击跳转选择版本 如下图所示&#xff0c;选择自己需要的版本下载 点击8u202版本 下载…

JavaSE进阶(day14,复习自用)

XML、XML解析、设计模式等 XMLXML概述XML的创建、语法规则XML文档约束方式一-DTD约束[了解]XML文档约束方式二-schema约束[了解] XML解析技术XML解析技术概述Dom4J解析XML文件Dom4J解析XML文件-案例实战 XML检索技术&#xff1a;Xpath设计模式&#xff1a;工厂模式设计模式&am…

C++算法:排序之一(插入、冒泡、快速排序)

C算法&#xff1a;排序 排序之一&#xff08;插入、冒泡、快速排序&#xff09; 文章目录 C算法&#xff1a;排序前言一、十大排序法性能二、各算法实现1、插入排序2、冒泡排序3、快速排序 原创文章&#xff0c;未经许可&#xff0c;严禁转载 前言 排序算法很多&#xff0c;一…

chatgpt赋能python:Python备份一个列表:最简单的方式和最佳实践

Python备份一个列表&#xff1a;最简单的方式和最佳实践 在Python编程中&#xff0c;经常需要将数据存储在列表中。但是&#xff0c;由于数据的重要性&#xff0c;我们需要确保数据不会丢失或损坏。因此&#xff0c;备份列表是我们需要考虑的一件事情。在这篇文章中&#xff0…

chatgpt赋能python:Python实现文件夹备份:让你的数据永不丢失

Python实现文件夹备份&#xff1a;让你的数据永不丢失 数据备份对于每个人都非常重要。如果你有很多个人或工作文件保存在计算机上&#xff0c;那么定期备份可以保证你的数据不会因为计算机出现故障而丢失。Python作为一种强大的编程语言&#xff0c;可以帮助你轻松地实现文件…