第八届“英拿科技杯”上海高校金马程序设计联赛暨东华大学邀请赛

第八届“英拿科技杯”上海高校金马程序设计联赛暨东华大学邀请赛

仪表盘所有提交榜单

I. 孤星

单点时限: 2.0 sec

内存限制: 512 MB

𝑛(1≤103) 个干员,每个干员工资为 𝑤𝑖(1≤𝑤𝑖≤105),贡献值为 𝑣𝑖(1≤𝑣𝑖≤102)。

给出 𝑚(1≤𝑚≤105)次询问,每次询问:当你能承受的总工资为 𝑊(0≤𝑊≤109) 时,能收获最大的贡献值是多少。

输入格式

第一行,两个整数 𝑛,𝑚。

接下来 𝑛 行,每行两个整数 𝑤𝑖,𝑣𝑖,表示每个干员的工资和贡献值。

接下来𝑚行,每行一个数 𝑊,表示单次询问中的可以承受的总工资。

输出格式

输出共𝑚行,每行一个数表示你的答案。

样例

input

4 3
1 2
2 1
1 1
2 3
5
1
0

output

6
2
0

 思路:这个题目真的让我对dp的理解加深了,其实这个就是一个大容量背包的问题,由于容量大,然后价值小,所以就可以考虑把下标和值调换一下,变成求一个价值最大为j的时候的最小的背包的总量dp[j]的问题,这样的话我们进行一次打表,之后的询问就可以O(logn)直接查询。这里要注意的就是我们这里求最小的问题的dp数组并不是一个递增的数组,原因就是因为不是每一个值都能往前倒到0,只有dp【0】为0的时候我们才能进行最小更新,所以我们进行需要进行一个后缀最小值处理,这样的话我们就可以在查询的时候减少时间复杂度。

#include "bits/stdc++.h"
using namespace std;
const int N = 1e9 + 3;
long long  w[2000], v[2000], dp[100010];
#define Inf 1000000005
//map<long long, long long> dp;
int main(){int n, m;cin>>n>>m;for(int i = 1; i <= n; i ++){cin>>w[i]>>v[i];}fill(dp, dp + 100010, Inf);
//		memset(dp, 0, sizeof(dp));dp[0] = 0;for(int i = 1; i <= n; i ++){for(int j = 100010; j >= 0; j --){dp[j] = dp[j];if(j - v[i] >= 0){dp[j] = min(dp[j], dp[j - v[i]] + w[i]);}}}long  long W;
//	sort(dp, dp + 100010);for (int i = 100000; i >= 0; i--) dp[i] = min(dp[i], dp[i + 1]);for(int k = 0; k < m; k ++){cin>>W;	long long  *ans = upper_bound(dp, dp + 100009, W);if(ans - dp == 0) cout<<0<<endl;else cout<<ans - dp - 1<<endl; }return 0;
}

 

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

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

相关文章

JAVA云HIS医院系统源码 HIS源码:云HIS系统与SaaS的关系

云HIS系统与SaaS的关系 云HIS系统是一种基于云计算技术的医院信息系统&#xff0c;它采用B/S架构&#xff0c;通过云端SaaS服务的方式提供。用户可以通过浏览器访问云HIS系统&#xff0c;无需关注系统的部署、维护、升级等问题。云HIS系统通常具有模板化、配置化、智能化等特点…

react记录部署

导语 React中的核心概念 1 虚拟DOM&#xff08;Virtual DOM&#xff09; 2 Diff算法&#xff08;虚拟DOM的加速器&#xff0c;提升React性能的法宝&#xff09; React主要的原理 Virtual DOM 虚拟DOM; 提供了一种不同的而又强大的方式来更新DOM&#xff0c; 代替直接的DOM操…

cuda11.8安装torch2.0.1

pip install torch2.0.1 torchvision0.15.2 torchaudio2.0.2 --index-url https://download.pytorch.org/whl/cu118

hot100 -- 回溯(上)

目录 &#x1f35e;科普 &#x1f33c;全排列 AC DFS &#x1f6a9;子集 AC DFS &#x1f382;电话号码的字母组合 AC DFS &#x1f33c;组合总和 AC DFS &#x1f35e;科普 忘记 dfs 的&#xff0c;先看看这个&#x1f447; DFS&#xff08;深度优先搜索&#xf…

百度软件测试面试经历,期望薪资27K

一面 1、 请为百度搜索框设计测试用例&#xff1f; 2、百度设计框上线前需要进行那些测试&#xff1f; 界面测试&#xff0c;功能测试&#xff0c;性能测试&#xff0c;安全性测试&#xff0c;易用性测试&#xff0c;兼容性测试&#xff0c;UI测试。 3、如何查看http状态码…

重学java 38.创建线程的方式⭐

It is during our darkest moments that we must focus to see the light —— 24.5.24 一、第一种方式_继承extends Thread方法 1.定义一个类,继承Thread 2.重写run方法,在run方法中设置线程任务(所谓的线程任务指的是此线程要干的具体的事儿,具体执行的代码) 3.创建自定义线程…

基于灰狼优化算法优化支持向量机(GWO-SVM)回归预测

代码原理 基于灰狼优化算法优化支持向量机&#xff08;GWO-SVM&#xff09;的回归预测代码的原理和流程如下&#xff1a; 1. **初始化灰狼群体**&#xff1a;随机生成一定数量的灰狼&#xff0c;并初始化它们的位置和速度。 2. **初始化SVM模型参数**&#xff1a;根据问题要…

【JAVA基础之网络编程】UDP和TCP协议以及三次握手和四次挥手的过程

&#x1f525;作者主页&#xff1a;小林同学的学习笔录 &#x1f525;mysql专栏&#xff1a;小林同学的专栏 目录 1. 网络编程 1.1 概述 1.2 网络编程的三要素 1.2.1 IP地址 1.2.2 InetAddress 1.2.3 端口和协议 1.3 UDP协议 1.3.1 UDP发送数据 1.3.2 UDP接收数据 1.4…

C语言——小知识和小细节18

一、力扣题目 1、题目本体 2、题解 本题目我们使用异或分组的方法来解决。可以在我之前的文章《C语言——操作符CSDN博客》中看一下异或的特点。 由于异或的运算规则为相同为0&#xff0c;不同为1&#xff0c;而且是在二进制补码上进行操作的&#xff0c;我们可以发现的一个…

c++|多态

c|多态 1 多态的概念2 多态的定义及其实现2.1 满足多态的条件2.2 虚函数2.3 虚函数的重写2.4 析构函数适合加virtural吗2.4 C11 override 和 final2.5 三个概念的对比 3 多态的原理4 抽象类4.1 概念4.2 纯虚函数 1 多态的概念 多态的概念&#xff1a;通俗来说&#xff0c;就是…

2413. 最小偶倍数

题目&#xff1a; 给你一个正整数 n &#xff0c;返回 2 和 n 的最小公倍数&#xff08;正整数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;n 5 输出&#xff1a;10 解释&#xff1a;5 和 2 的最小公倍数是 10 。 示例 2&#xff1a; 输入&#xff1a;n 6 输出&a…

JS 手写 节流throttle 防抖debounce函数

防抖debounce // 手写防抖 function debounce(fn, delay 200) {// timer 在闭包中let timer null// 返回一个函数return function(...args) {if (timer) {clearTimeout(timer) // 清空上次的值}timer setTimeout(() > {fn.apply(this, args) // 透传 this 和函数参数},…

【再探】设计模式—代理模式

代理是指授权代理人在一定范围内代表其向第三方进行处理有关事务。 1 代理模式 需求&#xff1a;1&#xff09;将业务代码与非业务代码分离&#xff0c;在不改变代码结构的基础上&#xff0c;为其添加新的功能。2&#xff09;为系统中的某些操作做同一处理&#xff0c;例如进…

[实例] Unity Shader 逐像素漫反射与半兰伯特光照

漫反射光照是Unity中最基本最简单的光照模型&#xff0c;本篇将会介绍在片元着色器中实现反射效果&#xff0c;并会采用半兰伯特光照技术对其进行改进。 1. 逐顶点光照与逐像素光照 在Unity Shader中&#xff0c;我们可以有两个地方可以用来计算光照&#xff1a;在顶点着色器…

数据结构:带头双向循环链表

目录 前言 链表实现 1.定义节点 2.接口实现 1.开辟新节点 2.初始化 3.打印链表 4.添加节点 头插 尾插 在pos位置之前增加节点 5.删除节点 判空 头删 尾删 删除pos位置的节点 6.查找 7.释放 前言 带头双向循环链表的结构最复杂&#xff0c;一般用在单独存储数…

z3-加法器实验

补码器加减法&#xff0c;运算方法简介 我们要知道什么是补码的加法&#xff0c;我们为什么要用补码的加法&#xff1f; 补码的加法其实就是将两个补码形式的二进制数字直接相加&#xff0c;处理的时候忽略超出固定位数的进位。补码的加法运算和无符号二进制数的加法操作一样&…

【最新区块链论文录用资讯】CCF A — SP 2024 共17篇

Conference&#xff1a;45th IEEE Symposium onSecurity and Privacy CCF level&#xff1a;CCF A Categories&#xff1a;网络与信息安全 Year&#xff1a;2024 Num&#xff1a;17 Efficient Zero-Knowledge Arguments For Paillier Cryptosystem Paillier 加密系统的有效…

基于python的网页自动刷新工具

1.下载webdriver https://msedgewebdriverstorage.z22.web.core.windows.net/?prefix122.0.2365.59/下载Edge的浏览器驱动 2.安装selenium pip install selenium4.11.1 3.写代码 # -*- coding: utf-8 -*- import tkinter as tk from tkinter import messagebox import thr…

【halcon】set_part 实现平移和缩放 彻悟版

背景 之前写了一篇关于set_part 的文章 &#xff0c;确实也实现了平移和缩放。平移是对的&#xff0c;但是缩放其实有畸变。这个问题一直都困扰着我&#xff0c;知道昨天连续测试了好几个小时&#xff0c;直到晚上11点终于完美解决。 坐标和高宽 坐标 再讲set_part 之前&am…

免费撸gpt-4o和各种大模型实用经验分享

项目 Github: https://github.com/MartialBE/one-api 先贴两张图&#xff1a; 说明 免费撸AI大模型,各位可以对照下面我给出的大模型记录表来填&#xff0c;key需要自己去拿&#xff0c;国内都需要手机号验证&#xff0c;如果你不介意。另外我在自己的博客放出免费API给大家…