BZOJ3174: [Tjoi2013]拯救小矮人

EtherCAT ROS2 入门教程(一) 本文介绍了EtherCAT驱动与ROS2的集成方案,主要包括三部分内容:1)在Ubuntu 22.04上安装IgH EtherCAT主站的详细步骤,包括内核配置、源码编译和网络适配器设置;2)构建ethercat_driver_ros2,通过ros2_control描述文件配置硬件接口和EtherCAT从站模块插件;3)使用方法,包括启动EtherCAT主站和运行配置包。该方案支持通过参数文件定义硬件接口,并提供通用和专用两种EtherCAT模块插件,便于开发基于EtherCAT的工业应用。 阅读详情

题目大意: 每个小矮人有臂长和身高,它们可以搭人梯,如果人梯的人高度总和+最上面的人的手的高度>=H,那最上面的人就可以跑,跑了的人不能再搭人梯,问最多能跑几个小矮人


这题...做了好长好长时间啊

貌似从2015年就开始做了,但是当时写了个贪心不对,然后又上网搜题解没看懂,瞎改DP也不对,过了几个月重新做也是WA,今天突然心血来潮写一发就A了...

首先是要按照身高+臂长来排序,但是为什么呢?这个我看了很多题解都没看懂

大概证明如下:

考虑对于最上面的两个人,下面的人梯高度一定

如果无论怎样都出不去,那相对顺序肯定是无所谓的

如果怎么都能出去,那相对顺序肯定也是无所谓的

关键就是剩下的情况,两个人都有机会逃出去,但是排的先后顺序会影响逃跑结果

这种情况下就只能让身高+臂长比较小的人较先离开,因为他的逃生能力比较弱

但是对吗?


随之而来的又有一个问题,只贪心到底行不行

显然是不行的,比如一个高个短手,一个矮个长手,后面的加起来更大,结果先让前面的跑了,后面的跑不出去了,留下来的人还矮

这怎么办呢?

这时我们就发现“这种情况下就只能让身高+臂长比较小的人较先离开,因为他的逃生能力比较弱”这句话是错的

但是它为我们提供了一个思路,那就是最终的最优逃出方案一定可以是一个按照“身高+臂长”递增的序列

这个怎么证呢?就是当我们发生上述冲突时,我们肯定是选择让高个的留下并且永远留下,矮个那个先走,这样就满足了性质

然后就可以DP了!


所以!!我们排序+DP的原因不是XX放在XX前面一定更优,而是最终的逃跑序列一定是一个“身高+臂长”递增的序列,为了方便DP,所以我们才要排序!!!!


从2015-05-15 WA到 2016-06-16

一年一个月零一天


#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 2010
using namespace std;
struct ppp{int a,b;}c[N];
bool cmp(ppp x,ppp y)
{
	return x.a+x.b<y.a+y.b;
}
int f[N][N];
int hou[N];
int main()
{
	int n,H;
	scanf("%d",&n);
	int i,j;
	for(i=1;i<=n;i++)
	scanf("%d%d",&c[i].a,&c[i].b);
	scanf("%d",&H);
	sort(c+1,c+n+1,cmp);
	for(i=n;i>=1;i--)
	hou[i]=hou[i+1]+c[i].a;
	memset(f,0xef,sizeof(f));
	f[0][0]=0;
	for(i=1;i<=n;i++)
	{
		for(j=i;j>=0;j--)
		{
			f[i][j]=f[i-1][j]+c[i].a;
			if(j&&f[i-1][j-1]+c[i].a+c[i].b+hou[i+1]>=H) f[i][j]=max(f[i-1][j-1],f[i][j]);
		}
	}
	for(i=n;i>=0;i--)
	if(f[n][i]>=0)
	{
		printf("%d",i);
		return 0;
	}
}

信贷模型域——客户管理阶段模型(贷中模型) 本文主要探讨了信贷模型域中的客户管理阶段模型,重点聚焦于交叉销售模型。交叉销售模型不仅应用于贷中阶段,还贯穿于贷前、贷中、贷后全过程,其核心作用在于提升客户价值、增强客户粘性、降低流失率以及实现风险与收益的平衡。文中通过具体案例展示了交叉销售模型在现实业务中的应用,并指出其在贷中阶段的主要任务是提升存量客户价值、增加产品使用率,同时有效控制风险。 阅读详情

相关推荐

山东大学软件测试实验2——系统功能测试

​ 给出一个被测试的 Web 应用系统(SUT)。http://211.87.232.162:8080/注:友情链接不用延伸测试。针对被测试的 Web 应用系统进行功能测试,发现其存在的缺陷。 ​

m0_74033391的博客 2409

别再傻傻分不清!从Arduino到树莓派,一文搞懂舵机、步进、直流无刷和永磁同步电机的选型与控制

本文详细解析了舵机、步进电机、直流无刷电机和永磁同步电机的选型与控制策略,适用于Arduino和树莓派平台。通过对比核心参数、开发平台兼容性及实战案例,帮助读者根据项目需求精准选择电机类型,并优化控制方案,提升机器人制作的效率与性能。

weixin_30765577的博客 477

深度强化学习系列(13): 策略梯度(Policy Gradient)

对于DQN来说使用一个网络直接逼近了值函数,最后取得了非常不错的效果, 但是对于一些连续性控制或者动作空间特别大的环境来说,很难全部计算所有的值函数来得到最好的策略,那么直接计算策略的方法就别提出来了。 回顾一下前面几篇,所谓的策略,其实就是状态到动作的映射数学表达为 π:s→aπ:s→a\pi : s \to a, 我们用ττ\tau 表示状态s到最后一个状态的一个序列,表示为: τ:st...

深度强化学习(DeepRL)探索博客 4642

[TJOI2013]拯救小矮人[排序+dp]

题意 题目链接 分析 Imagine的完美回答 重点大概是证明我们选出要救的小矮人一定可以根据 \(a_i+b_i\) 的大小进行排序救出。 注意这里关注的对象是可以保留的高度,所以我们的dp值才会表示成最少减少的高度。 代码 #include<bits/stdc++.h> using namespace std; #define go(u) for(int i=head[u...

aqw145212的专栏 221

手把手教你用RK3568开发板实现FPGA与Linux的DMA通信(含完整代码解析)

本文详细介绍了如何在RK3568开发板上实现FPGA与Linux系统的DMA通信,包括硬件配置、软件环境搭建、DMA通信原理、驱动开发及性能优化。通过完整的代码解析和实战案例,帮助开发者快速掌握异构系统间的高效数据传输技术,适用于物联网和边缘计算等场景。

weixin_29174385的博客 201

yolov5 onnx推理时报错[ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Unexpected input data type.

yolov5 onnxruntime 推理报错

zjulkw的博客 1223

洛谷 P4823 [TJOI2013]拯救小矮人

题目描述 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口。 对于每一个小矮人,我们知道他从脚到肩膀的高度Ai,并且他的胳膊长度为Bi。陷阱深度为H。 如果我 们利用矮人1,矮人2,矮人3,。。。矮人k搭一个梯子,满足A1+A2+A3+....+Ak+Bk>=HA1+A2+A3+....+Ak+Bk>=HA1+A2+A3+....+Ak+Bk>=H,那么矮人k就可以离开陷阱逃跑了,一

Running Snail 365

93.华为路由器:IPSec加密GRE通道(GRE over IPsec)

IPSec加密GRE通道 由于GRE隧道不提供安全性保障,使用ipsec加密gre隧道是现网中比较常用的VPN部署,它的加密方式分为两种: 可以使用IPsec来加密隧道进行传输,叫做IPsec over GRE; 加密数据流后从隧道传输,称为GRE over IPsec。 下面将配置一个简单的IPsec over GRE实验。 一、搭建模拟环境 首先我们先搭建环境,先根据拓扑图把基本的IP地址配好,然后分别在AR1、AR3加两条静态路由,使得两个公网互通。 [AR1]in g0/0/0 [AR

迷逝 1万+

bzoj3174 [Tjoi2013]拯救小矮人(贪心+dp)

设i出去之后j出去,i下面的人的高度和为s。则有s+a[i]+b[i]>=H , s-a[i]+a[j]+b[j]>=H。我们发现如果a[i]+b[i]>a[j]+b[j],则交换后肯定不会更差。因此我们贪心地按a+b从小到大排序。 考虑dp[i],表示出去i个人之后的最大剩余高度。如果dp[j]+a[i].b>=H,则可以用dp[j]-a[i].a来更新dp[j+1]。

Icefox的博客 422

秋叶ComfyUI整合包使用FRP实现公网访问教程 ComfyUI内网穿透 秋叶整合包

最近在做 ComfyUI 的实验时,我发现很多小伙伴都遇到一个问题:本地启动的 ComfyUI 服务只能在本地访问,想要通过公网远程访问,就必须借助来实现。作为一名前端开发工程师,我花了点时间把 ComfyUI 启动器和 FRP 配置整合了一下,今天就分享给大家。本文适合已经了解。需要注意的是 穿透到公网的话任何人都能访问 为了安全建议看我另一篇帖子加上密码验证 防止恶意攻击。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1351

PCL RANSAC拟合分割多条直线【2026最新版】

使用RANSAC算法拟合分割多条直线,输出每一条直线的拟合参数到控制台,并保存直线点云到本地文件夹。博客长期更新,本文最新更新时间为:2026年5月24日。

点云侠的博客 7974

bzoj3174 [Tjoi2013]拯救小矮人

http://www.elijahqi.win/archives/3117 Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口。对于每一个小矮人,我们知道他从脚到肩膀的高度Ai,并且他的胳膊长度为Bi。陷阱深度为H。如果我 们利用矮人1,矮人2,矮人3,。。。矮人...

Elijahqi 273

数字孪生教程大全之 我们如何构建数字孪生?数字孪生的五个级别都是什么

文章摘要 什么是数字孪生? 我们如何构建数字孪生? 开发智能数字孪生系统的框架 什么是数字孪生? 数字孪生是一个不言自明的术语,用于识别物理系统的数字化版本。数字孪生的最早参考来自大卫·格伦特(David Gelernter )的小说作品。在他 1995 年的书中,Gelernter 博士为读者提供了未来有趣的可能性——万维网。前网络书籍谈到了计算机系统上的镜像数字世界。有些人可能会争辩说,我们的 Meta-verse 是新的数字世界——现实世界的数字孪生。但是,还有其他可能性,时间可能会讲述一个更好的

iCloudEnd的博客 3643

【BZOJ3174】[TJOI2013]拯救小矮人(贪心,动态规划)

【BZOJ3174】[TJOI2013]拯救小矮人(贪心,动态规划) 题面 BZOJ 洛谷 题解 我们定义一个小矮人的\(A_i+B_i\)为它的逃跑能力。 我们发现,如果有两个小矮人\(x,y\),逃跑能力\(x<y\),并且在当前方案中最终\(x\)和\(y\)都跑出去了,那么显然让\(x\)先跑出去不会更差。 那么把所有人按照逃跑能力排序,这样子我们只需要从前往后选择若干人让他们顺次逃...

weixin_30682127的博客 187

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP

BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口。对于每一个小矮人,我们知道他从脚到肩膀的高度Ai,并且他的胳膊长度为Bi。陷阱深度为H。如果我 们利用矮人1,矮人2,矮人3,。。。矮人...

131

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

bzoj3174【TJOI2013】拯救小矮人

贪心+DP

AaronPolaris 3849

[bzoj3174][Tjoi2013]拯救小矮人

DP+贪心前言说实话,我感觉网上大多数文章讲这篇都是在口胡,我发现znber同学的证明也是明显错误的(也许是我太蒻了).但有幸的是我遇上了这篇文章http://blog.youkuaiyun.com/commonc/article/details/51693992 他跨了一年,做出了这道题,心疼QAQ。但我觉得他这篇还是没有多详细,搜索引擎也不容易先搜到他,于是就写了这篇辣鸡题解QAQ。题意我一开始一直纠结于

DraZxlNDdt的博客 5456

BZOJ3174 [Tjoi2013]拯救小矮人

orz commonc神犇做了一年的题 首先我们考虑假设已经确定了哪些小xrf走,哪些小xrf留下,那么我们考虑走的那些小矮人走的顺序 考虑x比y先走的条件,假设x和y是第一个和第二个走的,如果x比y先走,那么要求底下的人的高度加上Ax+Bx+Ay和By+Bx都能够到顶,如果y比x先走,那么要求底下的人的高度加上Ay+By+Ax和Ay+Ax都能够到顶,所以如果min(Ax+Ay,By)+Bx>

neither_nor 793

BZOJ系列3174《[Tjoi2013]拯救小矮人》

Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口。对于每一个小矮人,我们知道他从脚到肩膀的高度Ai,并且他的胳膊长度为Bi。陷阱深度为H。如果我 们利用矮人1,矮人2,矮人3,。。。矮人k搭一个梯子,满足A1+A2+A3+....+Ak+Bk>=H,那么矮人k就

Dante__Alighieri的专栏 1009

BZOJ 3174[Tjoi 2013]拯救小矮人

3174:[Tjoi2013]拯救小矮人 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口。对于每一个小矮人,我们知道他从脚到肩膀的高度Ai,并且他的胳膊长度为Bi。陷阱深度为H。如果我 们利用矮人1,矮人2,矮人3,。。。矮人k搭一个梯子,满足A1+A2+A3+….+A

Cynthia_wjyi 1689

【BZOJ3174】【Tjoi2013】拯救小矮人 贪心+动规。

呃、 就是先贪心排序一下,然后做动规。 题解: 首先我们考虑两个人之间的先后离开顺序: 肯定我们希望逃生能力(权值a+权值b)强的人后跑,因为这样更可能多跑 (这里不妨考虑:我们希望整个塔的逃生能力更强,而塔的逃生能力就是所有人的身高+max{手长})。 然后这样我们可以按照逃跑顺序排个序,方便接下来的动规。 (不要太较真~~我也不是特别“有理有据”,只是感性地YY了

辗转山河弋流歌 2038

[TJOI2013][BZOJ3174] 拯救小矮人

3174: [Tjoi2013]拯救小矮人 Time Limit:1 SecMemory Limit:128 MBSubmit:445Solved:217[Submit][Status][Discuss] Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳...

weixin_30532987的博客 90

BZOJ3174 Tjoi2013 拯救小矮人(贪心+DP)

传送门Description一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口。对于每一个小矮人,我们知道他从脚到肩膀的高度Ai,并且他的胳膊长度为Bi。陷阱深度为H。如果我 们利用矮人1,矮人2,矮人3,。。。矮人k搭一个梯子,满足A1+A2+A3+….+Ak+Bk>=H,那么矮人k就可以离开

geng4512的专栏 910

BZOJ3174. [TJOI2013]拯救小矮人(dp)

题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3174 题解 其实此题并不需要那么多YY的部分。 我们考虑若干个小矮人逃出的顺序。若跳出的 \(k\) 个小矮人依次为 \(p_1, p_2, \cdots , p_k\),那么我们一定可以将他们排序,使得对于任意的 \(i < j\) 满足 \(a_i + b_i &lt...

anzi3457的博客 163

BZOJ3174 TJOI2013 拯救小矮人 贪心+一般DP

题意:有N个小矮人,他们从脚到肩膀的高度Ai,胳膊长度为Bi。陷阱深度为H。如果我们利用矮人1,矮人2,矮人3……矮人k搭一个梯子,满足A1+A2+A3+….+Ak+Bk>=H,那么矮人k就可以离开陷阱逃跑了,一旦一个矮人逃跑了,他就不能再搭人梯了,问最多可以使多少个小矮人逃跑。 题解: 由于不管怎么排,总的高度是不变的,因此关键在于如何找出出洞的次序。 考虑只有a和b两个小...

a18700013354的博客 158

BZOJ3174 TJOI2013 拯救小矮人 贪心、DP

传送门 原问题等价于:先给\(n\)个人排好顺序、叠在一起,然后从顶往底能走即走,问最多能走多少人 注意到一个问题:如果存在两个人\(i,j\)满足\(a_i + b_i < a_j + b_j\)且\(i,j\)两个人都要逃跑,那么\(j\)会在\(i\)之后跑,因为\(i\)的逃跑能力没有\(j\)强,如果\(j\)先逃跑了,那么\(i\)就有可能没法逃跑。 所以对于所有人按照\(a_...

weixin_30398227的博客 147

BZOJ 3174: [Tjoi2013]拯救小矮人 贪心 dp

3174: [Tjoi2013]拯救小矮人 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 840  Solved: 451 [Submit][Status][Discuss] Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸

BlackJack 480
上一篇: BZOJ2793: [Poi2012]Vouchers
下一篇: BZOJ2796: [Poi2012]Fibonacci Representation
commonc
博客等级 码龄11年 173粉丝 167原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值