HDU_6154 CaoHaha's staff 【规律打表】

题目链接题目描述在一个二维坐标系中,想要得到一块为n的面积,问最少在坐标轴上面画多少笔画可以得到这样的面积,笔画可以是上、下、左、右、两种对角线共六种。解题思路规律题,打表求出笔画为n时可以得到最大的面积,然后在找的过程周找到大于等于n的最小的下标即可。 核心是一个找边长为根号√2倍数的菱形(正方形)。然后从第一个菱形边长为√2开始一点一点扩展,即可找出规律。规律可参考代码部分。 补充一下找规
摘要由CSDN通过智能技术生成

题目链接

题目描述

在一个二维坐标系中,想要得到一块为n的面积,问最少在坐标轴上面画多少笔画可以得到这样的面积,笔画可以是上、下、左、右、两种对角线共六种。

解题思路

规律题,打表求出笔画为n时可以得到最大的面积,然后在找的过程周找到大于等于n的最小的下标即可。
核心是一个找边长为根号√2倍数的菱形(正方形)。然后从第一个菱形边长为√2开始一点一点扩展,即可找出规律。规律可参考代码部分。
补充一下找规律的步骤:

看上图黑色的正方形为第一个长为 √2 的菱形,也就是起始位置。

  • 所以我们先将DB[4] = 2,也就是边长为4的最大为面积为2
  • 紧接着画5条边构成的最大面积,也就是红色的那条线,面积比第4条边多了0.5,这时候我们赋值x1为0.5。由此可以推断DB[5] = DB[5 - 1] + x1。
  • 6条边:为蓝色的边,面积比4条边多了2.0,这时候我们赋值x2为2.0。由此可以推断 DB[6] = DB[5 - 2] + x2。
  • 7条边ÿ
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值