小D和他的魔法石(完全背包+贪心)

2021英伟达暑期实习面经(芯片设计) 2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。 阅读详情

小D和他的魔法石

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld

题目描述 

小DD是一个喜欢研究算法的大魔法师。有一天,他在魔法森林里找到了n棵魔法树,其中第i棵魔法树可以生产无限块抗力为aiai​,魔力为bibi​的魔法石。同时,由于小DD法力强大,他有k次机会,每次可以交换其中两棵魔法树能够产生的魔法石的魔力。
小DD可以吸收魔法石的能量。每吸收一块魔法石的能量,他的抗力就会减少对应魔法石的抗力,魔力就会增加对应魔法石的魔力。他的初始抗力为m,魔力为00。一旦他的抗力小于00,他就没法施展魔法了。现在,小DD想知道,自己在抗力不小于00的前提下,最大的魔力是多少。
注意,小DD必须先使用完所有的交换机会,再吸收魔法石的能量。

输入描述:

输入共33行。 第一行包含22个正整数n,m(1≤n,m≤103)n,m(1≤n,m≤103)和11个非负整数k(0≤k≤100)k(0≤k≤100)。 第二行包含n个正整数,第i个数表示ai(1≤ai≤103)ai​(1≤ai​≤103)。 第三行包含n个正整数,第i个数表示bi(1≤bi≤109)bi​(1≤bi​≤109)。

输出描述:

输出共一行,包含一个非负整数,表示最大的魔力。

示例1

输入

复制

2 5 0
1 2
1 3

输出

复制

7

说明

由于k=0,所以没有交换机会。
吸收魔法树11的11块魔法石,吸收魔法树22的22块魔法石。
此时小DD的抗力=5−1−2×2=0=5−1−2×2=0,魔力=1+2×3=7=1+2×3=7。

示例2

输入

复制

2 5 1
1 2
1 3

输出

复制

15

说明

使用唯一的交换机会,交换魔法树11,魔法树22能够产生的魔法石的魔力。
吸收魔法树11的55块魔法石,吸收魔法树22的00块魔法石。
此时小DD的抗力=5−1×5=0=5−1×5=0,魔力=3×5=15=3×5=15。

当k=0时候 我们只需要完全背包就行

然后 n==2时 如果k为奇数先交换b值然后完全背包

其余 直接贪心选取 价值最大 花销最小的就行

int n,m,k;
const int MAX=1e3+10;
int a[MAX];
int b[MAX];
ll f[MAX];
int main(){
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        cin>>b[i];
    }
    if(k==0){
        for(int i=1;i<=n;i++){
            for(int j=a[i];j<=m;j++){
                f[j]=max(f[j],f[j-a[i]]+b[i]);
            }
        }
        cout<<f[m]<<endl;
    }
    else if(n==2){
        if(k&1){
            swap(b[1],b[2]);
            for(int i=1;i<=n;i++){
                for(int j=a[i];j<=m;j++){
                    f[j]=max(f[j],f[j-a[i]]+b[i]);
                }
            }
            cout<<f[m]<<endl;
        }
    }
    else {
        int min1=INF;
        int max1=-INF;
        for(int i=1;i<=n;i++){
            min1=min(min1,a[i]);
            max1=max(max1,b[i]);
        }
        cout<<1ll*max1*(m/min1)<<endl;
    }
}

【单智能体】AI 数据分析智能体案例讲解(附完整源码) 本案例将引导您构建一个基于 AI 的数据分析智能体,让用户能够通过自然语言查询来分析 CSV 和 Excel 文件中的数据,无需掌握 SQL 知识。该智能体使用 Agno Agent 框架集成 OpenAI GPT-4o 模型,并利用 DuckDB 提供高效的数据处理能力。 阅读详情

相关推荐

国腾|GM8775C替换TC358775/MIPI转双通道LVDS

1 产品概述 GM8775C 型DSI 转双通道 LVDS 发送器产品主要实现将MIPI DSI 转单/双通道 LVDS 功能,MIPI 支持 1/2/3/4 通道可选,最大支持 4Gbps 速率。LVDS时钟频率最高154MHz,最大支持视频格式为 FULL HD(1920 x 1200)。 该芯片主要应用于手持设备、双屏显示,大屏幕显示等应用需求。 2 产品特征 a) I/0电源电压:1.8V /3.3V; b) core 电源电压...

Vasse的博客 1073

小D和他的魔法石

链接:https://ac.nowcoder.com/acm/contest/10507/B 来源:牛客网 小\text{D}D是一个喜欢研究算法的大魔法师。有一天,他在魔法森林里找到了\mathop nn棵魔法树,其中第\mathop ii棵魔法树可以生产无限块抗力为a_ia i ​ ,魔力为b_ib i ​ 的魔法石。同时,由于小\text{D}D法力强大,他有\mathop kk次机会,每次可以交换其中两棵魔法树能够产生的魔法石的魔力。 小\text{D}D可以吸收魔法石的能量。每吸收一块魔法石的

qq_45772483的博客 379

用Python玩转Carla-Apollo联合仿真:手把手教你实现自动驾驶测试

本文详细介绍了如何使用Python实现Carla-Apollo联合仿真,从环境搭建到自动驾驶算法测试的全流程。通过Carla提供的高逼真仿真环境和Apollo的自动驾驶算法栈,开发者可以高效验证感知、规划和控制模块。文章包含环境配置、Python API操作、桥接实现及实战测试,为自动驾驶开发提供完整解决方案。

wasm7browser的博客 267

6743. 大魔法师

今天做到了这个题感觉很巧妙,赛时没想到但是,初三都过了,水写一篇博客记录一下。

fzyyyyyyyy的博客 992

不用SE63逐个翻译!ABAP函数LXE_OBJ_TEXT_PAIR_WRITE批量处理TCODE描述的3种姿势

本文介绍了三种利用ABAP函数LXE_OBJ_TEXT_PAIR_WRITE批量翻译SAP事务码(TCODE)描述的高效方案,旨在替代SE63逐个翻译的低效操作。内容涵盖从基础循环、Excel导入到全自动程序集成的实现方法,帮助开发者显著提升批量翻译效率,并深入解析了SAP翻译体系的核心原理与实战技巧。

weixin_42593130的博客 660

2 海康视觉平台VisionMaster 上手系列:大纲及准备

海康视觉平台VisionMaster 大纲,课前准备 快速入门 工业机器视觉 机器视觉

HuangGong2022的博客 1万+

个人笔记:算法讲座3.2——魔法石(棋盘最优路径)

本文仅供学习参考使用,谢谢

Dlrow Olleh~ 1421

OpenWebUI外部模型配置异常排查与修复指南

本文详细解析了OpenWebUI外部模型配置异常的常见问题及解决方案,包括隐藏字符、数据库锁死等典型现象。通过错误日志分析和数据库修复实战指南,帮助开发者快速定位并解决配置问题,确保OpenWebUI与第三方大模型的稳定连接。

weixin_29205061的博客 312

浙江农林大学第二十一届程序设计竞赛校选拔赛A E G H

传送门 E 俺拜俺拜 传送门 题意:给定一个由ab组成的字符串,求区间长度大于等于x且ab个数相同的区间是否存在。 输出一行 l 和 r,中间用空格隔开。 如果存在多个满足条件的答案,请输出 r 最小的答案 如果存在多个满足的答案有共同的 r ,则输出 l最小的答案。 如果不存在满足条件的答案,输出 impossible 分析:时间复杂度上显然只能O(n)扫一遍,考虑用map记录a-b的差值(记为cnt)所对应的位置 如果到一个点时mp[cnt]已经赋过值了,看看这两点间的距离是否大于等于x,若是,直

学的太少啦 479

手把手教你用SIMCOM A7670C_FASL模组实现双路MQTT连接阿里云(附完整源码)

本文详细介绍了如何使用SIMCOM A7670C_FASL 4G模组实现双路MQTT连接阿里云,包括硬件配置、开发环境搭建、双路MQTT架构设计及实现细节。通过完整的源码示例和实战指南,帮助开发者快速掌握物联网设备开发中的多路MQTT连接技术,提升工业级应用的开发效率。

weixin_33696822的博客 227

开源免费!ReaLTaiizor如何用MIT许可证打造专业级WinForm UI?

摘要: ReaLTaiizor是一款开源UI控件库,为WinForm应用提供现代化界面解决方案。支持100+组件、多主题切换(浅色/深色/自定义)和.NET 4.8-8.0全版本兼容,MIT许可证允许免费商用。通过NuGet快速安装,3步改造传统界面:1)注入主题(如this.Theme = new Dark()),2)替换原生控件为高颜值组件(如ModernGrid替代DataGridView),3)集成高级功能(分页/动画提示)。典型场景包括登录界面美化(进度动画+通知控件)和数据表格Material风

墨夶的博客 1521

魔法石(二分+前缀和)

时间限制: 1 Sec 内存限制: 128 MB [提交] [状态] 题目描述 你习得了魔法,并学会了熟练运用魔法石。 你得到了n颗魔法石,魔法石有两种属性,分别为火属性和水属性。你一开始得到的是这n颗魔法石的一个排列。定义这n颗魔法石释放出来的能量,为最长的属性相同的魔法石连续段的长度。 作为一名熟练的魔法师,你还可以至多修改k个魔法石的属性。你现在想知道这n颗魔法石最多可以释放出多少能量。 输入 第一行为两个正整数n,k,表示魔法石的个数和最多可以修改的魔法石数量。 接下来一行为一个长度为n的字符串,

upc122的博客 724

具身智能:原理、算法与系统 第1章 具身智能的本质与范畴

从学术定义的角度,具身智能可被界定为"与物理环境进行有目的的能量与信息交换"的智能形式。这一定义揭示了具身智能的两个本质维度:信息处理维度与能量交互维度。与传统人工智能系统仅在信息空间操作不同,具身智能系统必须同时处理信息流与能量流,在物理约束下实现感知、认知与行动的统一。具身智能体具有三个核心构成要素:物理身体(Physical Body)、感知系统(Sensory System)与效应器(Effectors)。这三者共同构成了感知与行动的基础,使智能体能够通过物理交互而非纯粹符号操作来理解世界。

VectorShift的博客 270

【nowcoder 214271】小D和他的魔法石

有一些魔法石,每种有无限个,用一个耗费一个值的体力,获得一个值的能力。 然后你可以有 k 次机会把两种魔法石的体力值互换,一定要把 k 次都用完。 然后问你在耗费体力不大于 m 的时候,最多能有多少能力值。

欢迎您的光顾awa 252

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

牛客练习赛75 B.小D和他的魔法石(思维+完全背包)

传送门 我感觉自己好傻… 假如没有交换机会的话,直接做完全背包就好了 现在有了交换机会,我们不如贪心的让 最小的抵抗搭配上最大的魔力价值 然后剩下k−1k-1k−1次机会怎么办??你傻啊,现在我们最小的代价有了最大的价值 其他物品什么鬼样子需要管吗??随便把k−1k-1k−1次机会换换就好了 其他物品一定是两个属性都不如这个物品优秀的!! 那么只需要特判k=0k=0k=0,此时做完全背包不能交换 特判n=2n=2n=2,因为此时换不换属性不是我们说了算的,kkk为奇数的话一定要换 #include <

jziwjxjd的博客 450

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

牛客练习赛75 B 小D和他的魔法石(完全背包)

原题链接 思路 一开始我想着贪心来着,但是比赛时没有写,好像dp更好理解,赛后dp补题 先讨论n课树,如果n=2的时候,k就只有两种情况,交换一次(k是奇数),不交换(k是偶数) 然后讨论k次交换,如果k>0次的话,肯定是将抗力最小的和魔力最大的变成一组,这样就可以使最终结果最大化,如果 k=0 时, ...

qq_44791484的博客 275

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

牛客练习赛75题解

A 广义肥波 题意:定义fn=afn−1+bfn−2,求mfn在模1e9+7下定义f_n=af_{n-1}+bf_{n-2},求m^{f_n}在模1e9+7下定义fn​=afn−1​+bfn−2​,求mfn​在模1e9+7下 题解:构造一个数列cnc_ncn​={mfnm^{fn}mfn},变成递推式:cn=cn−1a∗cn−2bc_n=c_{n-1}^{a}*c_{n-2}^bcn​=cn−1a​∗cn−2b​这样就避免了对幂求模,也可以对fnf_nfn​求M-1的模 #include<bits/s

Exception 288

博客目录

目录数论 数论 G. Old Floppy Drive(二分+数学) D. Zookeeper and The Infinite Zoo(数位运算,贪心,数论) D. GCD of an Array B. Ralph And His Magic Field(组合数学+思维) B. New York Hotel(数学) Two Divisors(CF-Edu89D2) D. Divide and Sum Hankson的趣味题(蓝桥杯) 数字全排列 问题 G:

林苏泽 298

01背包求解组合最值问题

【题目描述】(Stone1.cpp/c/pas) Ural 1005 给出一堆魔法石的重量,问如何分成两堆,使得它们质量和之差最小,求出这个最小值。 【输入格式】 第一行一个数n (n ≤30)。 接下来n行,每行一个正整数。(每个数≤100000) 【输出格式】 一个整数表示两组数字和的最小差。 【输入样例1】 5 ...

allia990718的博客 695

问题 G: Heartlessly 的魔法石

问题 G: Heartlessly 的魔法石 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Heartlessly 有 n 个魔法石,每个魔法石都有对应的魔法值(用正整数 a i 表示)。Heartlessly把它们按魔法值从小到大排成一行,并分成 k 组,每组魔法石产生的能量为组中最大的魔法值减去最小的魔法值。你能求出这些魔法石产生的最小能量和最大能量分别是多少吗? 输入 第一行,输入两个正整数n,k,分别表示魔法石数量和分组数量。 第二行,输入正整数a1∼an,表示每个魔法石对应的魔法值

林苏泽 1276

c语言魔法书,C语言编程魔法书:基于C11标准

C语言编程魔法书:基于C11标准作者:陈轶 著出版日期:2017年05月文件大小:10.29M支持设备:¥60.00在线试读适用客户端:言商书局iPad/iPhone客户端:下载 Android客户端:下载PC客户端:下载更多详情:查看?对图书下载、阅读卡购买有疑问:立即进入帮助中心>>图书简介目录本书之所以叫“C语言编程魔法书”,是因为像“宝典”、“圣经”之类的词已经被用滥了。再者,...

weixin_35435768的博客 542

魔法石

题目来源:CF1110E 【简要题意】 对于给定数列{a}能否通过对第2…n-1项进行ci=ci−1+ci+1−cic_i=c_{i-1}+c_{i+1}-c_ici​=ci−1​+ci+1​−ci​的变换得到数列{b}。 数列长度小于等于1e5 【分析】 考场上就打了暴力判断头和尾是否相同,然后数据出锅,暴力就过了。。。。。 正确解法是差分。暴力判断头尾之后,经过神奇的观察发现每次进行操作相当于...

xyc1719的博客 544

【强联通】魔法石

任意门 题目: 幻象群岛是由n个孤立的岛屿构成。岛屿之间有一些残破的石桥,而桥心的石墩上,就有可能镶嵌着上古魔法石。约翰尼可以通过这些石桥,从一座岛跑到另一座岛,如果岛上恰好有魔法石,他就可以顺便收集。但是由于这些石桥实在是太残破了,约翰尼经过之后,石桥就会崩塌,不能再次通过。(由于约翰尼踩过的部分很快就会崩塌,所以他也不能先跑到桥心,然后原路返回)。 约翰尼现在处在岛a,而岛b上则有一个传送门,...

ygmjsjdboy的博客 268

养花(搜索+流)

链接:https://ac.nowcoder.com/acm/contest/5758/G 来源:牛客网 小明是一个魔法师,他有n棵植物,所有植物排成一排,植物的初始高度为数组h,小明有一些强迫症,他想 让植物的高度都恰好达到k,小明有m瓶药水,但药水分为4种: 1.选择一棵高度为a0的植物变为b0高度的植物 2.选择一棵高度在[a1,a2]区间内的植物变为b1高度的植物 3.选择一棵高度为a1的植物变为[b1, b2]区间内某一高度的植物 4.选择一棵高度在[a1,a2]区间内的植物变为[b1,b2]区间

qq_44061866的博客 1023

能量石(DP+贪心)

如果本题抛开能量损失的条件,其实就是一个01背包问题,我们就可以任意次序取能量石都不会影响最终答案。 但现在有了这个限制我们就要考虑按什么顺序取能量石可以最大化获取的能量; 这是就需要用到贪心的思想, 现在我们考虑取 第i 和 第j 个能量石: 1.如果我们先取 第i 个再取 第j 个 获取的能 ei + ej - si * lj 2.如果我们先取 第j个再取 第i个 获取的能 ej + ei - sj * li

XZ_Acmer的博客 396

计蒜客题解——信息学1月CSP-J2模拟赛——A. 魔法

题目链接 计蒜客信息学1月CSP-J2模拟赛A题,https://nanti.jisuanke.com/t/43038。 本题是非常简单的一题。 题目 DD 手上现在有两个长度为 nnn 的字符串,她有一个魔法,每次施展魔法的时候可以把两个字符串的其中一个字符串的任意一位变成任何字母,请问最少需要多少次魔法,DD 可以收获两个完全一样的字符串。 输入格式 第一行一个整数表示 n。 第...

努力中的老周的专栏 7322
上一篇: 二分图知识总结
下一篇: 减数游戏(优先队列+普通队列)
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值