2014.8.7 - 多校6

本文提供了HDU 4923 RoomandMoor问题的解决方案,通过优化数组和利用数学技巧来最小化平方误差之和。同时,也解析了HDU 4925 AppleTree问题,给出了种植玉米和放置肥料以最大化收获的具体策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hdu-4923-Room and Moor

problem

1.给你一个只有0和1构成的数组a。

2.你自己搞一个长度和a一样的数组b。

3.其中b里面是[0, 1]的实数。bi<=b(i+1)

4.f(a, b) = sum((ai-bi)^2) 即平方和。

5.求 f(a, b) 的最小值。

think

1.去掉最前面的所有0和后面的所有1

2.如果格式是11100这样,即前面都是1后面都是0,那么bi全都取一样的值f可以最小。如有有x个1,y个0那么b取x/(x+y), 这f值是x*y/(x+y)。

3.根据2就这样分成几段。每段保存有几个1和几个0.如10 110 1100 1110就是1,1;2,1;2,2;3,1.

4.依次搞过去。搞成一个栈。不满足的就合并。合并就是x=x1+x2, y = y1 + y2.

5.最后栈里面的加起来。按照2的公式x*y/(x+y)。


hdu-4925-Apple Tree

problem

给你n*m的一片田,每个单位可以种玉米,也可以放肥料。

如果种了玉米,他的上下左右四个位置如果有x个位置放了肥料,那么他收获2^x个玉米。

每个位置只能放玉米或肥料,不能都放。

think

第一排 玉米 肥料 玉米 肥料……这样放

第二排 肥料 玉米 肥料 玉米……这样放


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值