当前位置: 首页 > news >正文

牛客练习赛128:Cidoai的平均数对(背包dp)

题目描述

给定 nnn 对数 (ai,bi)(a_i,b_i)(ai​,bi​) 和参数 kkk,你需要选出一些对使得在满足 bib_ibi​ 的平均值不超过 kkk 的同时,aia_iai​ 的和最大,求出这个最大值。

输入描述:

第一行两个整数分别表示 n,kn,kn,k。
接下来 nnn 行,每行两个数分别表示 ai,bia_i,b_iai​,bi​

输出描述:

一行一个整数表示答案。

示例1

输入

复制5 6 4 10 3 4 6 7 7 7 10 8

5 6
4 10
3 4
6 7
7 7
10 8

输出

复制16

16

备注:

0≤ai,bi,k≤500,1≤n≤5000 \le a_i,b_i,k \le 500,1 \le n \le 5000≤ai​,bi​,k≤500,1≤n≤500

做法

本题重点在这个平均数的处理。b1+b2+b3+……+bn<=n*k,也就是(b1-k)+(b2-k)+(b3-k)+……+(bn-k)<=0。那我们就先把bi全都减去k。那bi为负数的就可以全部拿下。这样一来,我们背包的容量就是bi为负数的总和的绝对值了。

#include<bits/stdc++.h>
using namespace std;
const int N=510,M=250010;
int n,k;
int a[N],b[N];
int dp[M];
int res,ans,sum,ans2;
struct ty{int a,b;
};
vector<ty> v;
int main(){scanf("%d%d",&n,&k);v.push_back({-1,-1});for(int i=1;i<=n;i++) {cin>>a[i]>>b[i];b[i]-=k;if(b[i]<=0) {ans+=a[i];sum+=-b[i];}else{v.push_back({a[i],b[i]});}}memset(dp,-0x3f,sizeof(dp));dp[0]=0;for(int i=1;i<v.size();i++){for(int j=sum;j>=0;j--){   if(j-v[i].b>=0)dp[j]=max(dp[j],dp[j-v[i].b]+v[i].a);}}for(int i=0;i<=sum;i++) ans2=max(dp[i],ans2);cout<<ans+ans2;
}

相关文章:

牛客练习赛128:Cidoai的平均数对(背包dp)

题目描述 给定 nnn 对数 (ai,bi)(a_i,b_i)(ai​,bi​) 和参数 kkk&#xff0c;你需要选出一些对使得在满足 bib_ibi​ 的平均值不超过 kkk 的同时&#xff0c;aia_iai​ 的和最大&#xff0c;求出这个最大值。 输入描述: 第一行两个整数分别表示 n,kn,kn,k。 接下来 nnn 行&…...

Python世界:简易地址簿增删查改算法实践

Python世界&#xff1a;简易地址簿增删查改算法实践 任务背景编码思路代码实现本文小结 任务背景 该任务来自简明Python教程中迈出下一步一章的问题&#xff1a; 编写一款你自己的命令行地址簿程序&#xff0c; 你可以用它浏览、 添加、 编辑、 删除或搜索你的联系人&#xff…...

网络安全-intigriti-0422-XSS-Challenge Write-up

目录 一、环境 二、解题 2.1看源码 一、环境 Intigriti April Challenge 二、解题 要求&#xff1a;弹出域名就算成功 2.1看源码 我们看到marge方法&#xff0c;肯定是原型链污染题目 接的是传参&#xff0c;我们可控的点在于qs.config和qs.settings&#xff0c;这两个可…...

Debian Linux 11 使用crash

文章目录 前言一、环境安装1.1 安装debug package1.2 安装crash 二、使用crash 前言 # cat /etc/os-release PRETTY_NAME"Debian GNU/Linux 11 (bullseye)" NAME"Debian GNU/Linux" VERSION_ID"11" VERSION"11 (bullseye)" VERSION_C…...

python列表 — 按顺序找出b表中比a表多出的元素

目录 一、功能描述 二、适用场景 三、代码实现 一、功能描述 有a、b两个列表&#xff0c;a列表有3个元素&#xff1b;b列表有7个元素。b列表多出的一个元素可能在随机的位置&#xff0c;在不影响其他元素的情况下&#xff0c;找到b列表多出的那四个元素&#xff0c;并按照在…...

如何使用Python创建目录或文件路径列表

在 Python 中&#xff0c;创建目录或生成文件路径列表通常涉及使用 os、os.path 或 pathlib 模块。下面是一些常见的任务和方法&#xff0c;用于在 Python 中创建目录或获取文件路径列表。 问题背景 在初始阶段的 Python 学习过程中&#xff0c;可能遇到这样的问题&#xff1a…...

领夹麦克风哪个品牌好,哪种领夹麦性价比高,无线麦克风推荐

在音频录制需求日益多样化的今天&#xff0c;无线领夹麦克风作为提升音质的关键设备&#xff0c;其重要性不言而喻。市场上鱼龙混杂&#xff0c;假冒伪劣、以次充好的现象屡见不鲜。这些产品往往以低价吸引消费者&#xff0c;却在音质、稳定性、耐用性等方面大打折扣&#xff0…...

苍穹外卖学习笔记(五)

文章目录 二.新增菜品1.图片上传2.具体新增菜品 二.新增菜品 1.图片上传 这里采用了阿里云oss对象存储服务 application.yml alioss:endpoint: ${sky.alioss.endpoint}access-key-id: ${sky.alioss.access-key-id}access-key-secret: ${sky.alioss.access-key-secret}bucket…...

什么是卷积层、池化层、BN层,有什么作用?

什么是卷积层、池化层、BN层&#xff0c;有什么作用&#xff1f; 卷积层池化层BN层 卷积层 定义&#xff1a; 卷积层是CNN中的核心组件&#xff0c;它通过卷积运算对输入数据进行特征提取。卷积层由多个卷积单元组成&#xff0c;每个卷积单元的参数通过反向传播算法优化得到。…...

[学习笔记]《CSAPP》深入理解计算机系统 - Chapter 4 处理器体系结构Chapter 5 优化程序性能

总结一些第四章和第五章的一些关键信息 Chapter 4 处理器体系结构将处理组织成阶段 Chapter 5 优化程序性能 Chapter 4 处理器体系结构 在硬件中&#xff0c;寄存器直接将它的输入和输出线连接到电路的其他盆。 在机器级变成中&#xff0c;寄存器代表的是 CPU 中为数不多的可寻…...

案例分享|我是这样转型做数据产品经理的?

本文为才聚学员投稿的原创作品&#xff0c;现在才聚正面向专业项目管理者征集“项目管理实战案例”原创文章&#xff0c;被采纳即可获得丰厚稿酬&#xff0c;欢迎大家关注公众号踊跃投稿。 如您有意向投稿&#xff0c;可将稿件投递给我们。 故事介绍 三段故事&#xff0c;讲…...

ffmpeg面向对象-rtsp拉流相关对象

目录 1.AVFormatContext和FFFormatContext类。1.1 概述1.2 构造函数1.3 oopc的继承实现 2. AVInputFormat 类。2.1 多态的实现 3.所用设计模式3.1模板模式3.2 工厂模式&#xff1f; 3.3 rtsp拉流建链 4.this指针5.小结6.rtsp拉流流程 1.AVFormatContext和FFFormatContext类。 …...

feign client发送Post请求,发送对象参数,服务端接收不到正确参数报错排查

记一次feignclient发送请求服务端接收不到正确参数排查 服务端代码&#xff1a; Operation(summary "Create team")PostMapping("post")RequiresPermissions("team:add")public RestResponse addTeam(Valid Team team) {this.teamService.crea…...

Hadoop林子雨安装

文章目录 hadoop安装教程注意事项&#xff1a; hadoop安装教程 链接: 安装教程 注意事项&#xff1a; 可以先安装ububtu增强功能&#xff0c;完成共享粘贴板和共享文件夹 ubuntu增强功能 2.这里就可以使用共享文件夹 或者在虚拟机浏览器&#xff0c;用 微信文件传输助手 传文…...

Springboot项目总结

1.为了调用写在其他包里面的类的方法 但是不使用new来实现调用这个类里面的方法&#xff0c;这个时候我们就需要将这个类注入到ioc容器里面&#xff0c;通过ioc容器来实现自动生成一个对象。 对ioc容器的理解&#xff1a;自动将一个对象实现new. 考察了and 和 or组合使用&…...

目标检测从入门到精通——数据增强方法总结

以下是YOLO系列算法&#xff08;从YOLOv1到YOLOv7&#xff09;中使用的数据增强方法的总结&#xff0c;包括每种方法的数学原理、相关论文以及对应的YOLO版本。 YOLO系列数据增强方法总结 数据增强方法数学原理相关论文图像缩放将输入图像缩放到固定大小&#xff08;如448x44…...

SQL server 的异常处理 一个SQL异常 如何不影响其他SQL执行

在 SQL Server 中&#xff0c;存储过程中的 SQL 语句是顺序执行的。如果其中任何一个 SQL 语句遇到了错误或异常&#xff0c;那么默认情况下&#xff0c;这个错误会导致整个事务&#xff08;如果有的话&#xff09;回滚&#xff0c;并且存储过程会立即停止执行&#xff0c;不会…...

STM32——看门狗通俗解析

笔者在学习看门狗的视频后&#xff0c;对看门狗仍然是一知半解&#xff0c;后面在实际应用中发现它是一个很好用的检测或者调试工具。所以总结一下笔者作为初学小白对看门狗的理解。 主函数初始化阶段、循环阶段和复位 众所周知&#xff0c;程序的运行一般是这样的&#xff1…...

点亮第一盏LED灯 5): stm32CubeMX生成Keil代码

嵌入式入门&#xff0c;继续点亮第一盏LED灯&#xff0c;前面文章已经配置了GPIO引脚和时钟&#xff0c;那么基本上stm32CubeMX的配置就完成了&#xff0c;还有一点就是可以对PC13这个引脚起个别名&#xff0c; 这里起的别名是 LED_PC13&#xff0c;还有注意地方就是GPIO mode…...

ollama语言大模型部署使用

ollama语言大模型部署使用 前言一、下载安装maxkb1、下载解压赋权2、安装 二、安装ollamadocker运行 三、无需获取api_keymaxkb安装ollama模型对&#xff0c;就是这&#xff0c;你选好基础模型后&#xff0c;只需要给他地址&#xff0c;添加完成后自行调用ollama安装你选择好的…...

HunyuanVideo-Foley 效果对比:不同算法模型生成音效的质量评估

HunyuanVideo-Foley 效果对比&#xff1a;不同算法模型生成音效的质量评估 1. 音效生成技术概览 音效生成技术正在经历一场革命性的变革。从早期的采样拼接到如今的AI生成&#xff0c;算法模型已经能够根据简单的文字描述创造出丰富多样的声音效果。这项技术在影视制作、游戏…...

AcousticSense AI进阶使用:批量处理上百首歌曲的实战方法

AcousticSense AI进阶使用&#xff1a;批量处理上百首歌曲的实战方法 1. 为什么需要批量处理音乐文件&#xff1f; 在音乐流媒体平台、唱片公司或广播电台的实际工作中&#xff0c;我们经常需要处理海量音频文件。手动上传单首歌曲进行流派分析不仅效率低下&#xff0c;也难以…...

从零封装Vue版JSMpeg播放器:支持截图/录制/旋转的直播流组件开发指南

从零封装Vue版JSMpeg播放器&#xff1a;支持截图/录制/旋转的直播流组件开发指南 1. 技术选型与架构设计 在Web端实现低延迟视频直播需要解决三个核心问题&#xff1a;编解码效率、传输协议选择和渲染性能。基于JSMpeg的方案优势在于&#xff1a; 超低延迟&#xff08;可达50ms…...

保姆级教程:在Ubuntu 22.04上为i.MX6ULL交叉编译Qt 6.6.0(含完整CMake配置与避坑指南)

保姆级教程&#xff1a;在Ubuntu 22.04上为i.MX6ULL交叉编译Qt 6.6.0&#xff08;含完整CMake配置与避坑指南&#xff09; 第一次为嵌入式设备交叉编译Qt框架时&#xff0c;那种面对海量配置选项的茫然感我至今记忆犹新。特别是当开发板换成了NXP的i.MX6ULL这种资源受限的ARM处…...

学术研究助手:OpenClaw+nanobot自动抓取论文与生成综述

学术研究助手&#xff1a;OpenClawnanobot自动抓取论文与生成综述 1. 为什么需要自动化文献处理 作为一名经常需要追踪前沿研究的科研人员&#xff0c;我发现自己每周要花至少8小时在arXiv上筛选论文、阅读摘要、整理笔记。最痛苦的是&#xff0c;当我需要撰写某领域的综述时…...

如何专业掌握小熊猫Dev-C++现代化开发:解锁10个高效编程技巧

如何专业掌握小熊猫Dev-C现代化开发&#xff1a;解锁10个高效编程技巧 【免费下载链接】Dev-CPP A greatly improved Dev-Cpp 项目地址: https://gitcode.com/gh_mirrors/dev/Dev-CPP 小熊猫Dev-C作为一款深度优化的现代化C/C集成开发环境&#xff0c;为编程学习者和专业…...

面试官是算法出身,感觉没有问的很难?揭秘AI大模型面试高频题及应对策略!

面试官是算法出身&#xff0c;感觉没有问的很难第一个AI Agent系统是多Agent系统还是单Agent系统&#xff1f;Think-Execute循环机制的prompt工程设计是你自己写的吗&#xff1f;能简单说一下Think-Executor的prompt是怎么设计的吗&#xff1f;系统用的基座模型是什么&#xff…...

CodeBlocks-25.03 在 Windows 上的完整配置与避坑指南

1. 为什么选择CodeBlocks-25.03&#xff1f; 如果你刚开始学习C/C编程&#xff0c;CodeBlocks绝对是个不错的选择。作为一个开源的集成开发环境&#xff08;IDE&#xff09;&#xff0c;它轻量级、跨平台&#xff0c;最重要的是完全免费。我十年前刚开始写代码时用的就是CodeBl…...

从欧姆定律到芯片安全:拆解GPIO保护二极管电流路径的‘微观世界’

从欧姆定律到芯片安全&#xff1a;拆解GPIO保护二极管电流路径的‘微观世界’ 想象一下&#xff0c;你正在设计一个精密的嵌入式系统&#xff0c;突然发现某个GPIO引脚意外接到了5V电源——这个电压远超芯片标称的3.3V工作范围。为什么芯片没有立即冒烟&#xff1f;答案藏在两个…...

分布式缓存一致性:从核心争议到企业级解决方案

分布式缓存一致性&#xff1a;从核心争议到企业级解决方案 分布式缓存一致性是高并发架构中最经典的难题之一。它的本质在于&#xff1a;数据库&#xff08;如 MySQL&#xff09;和缓存&#xff08;如 Redis&#xff09;是两个独立的系统&#xff0c;我们无法通过单一的本地事务…...