xilian5 ohih

一、

1. 二分时间间隔T,时间复杂度log(M)

2. 对于每个二分得到的时间间隔T,计算是否击破所有护盾。这里最差复杂度O(N),由于护盾数K很少,并且护盾防护值相同,因此可以很大程度优化,没有再细想。

3. 根据上述结果更新二分区间

 

总时间复杂度O(N*log(M)),而且很大可能很大程度优化,没继续想

 

 

二、

1. 对强力值公式进行对数取值,可以将乘积变为和的形式,从而公式被分离成K

2. 由于每一项都是log函数,倒数1/x,即其递增趋势越来越缓,因此直接可以对每颗药丸进行贪心,取K项中增加最大的那个属性喂食。  这里可以建个最大堆,从而时间复杂度log(K)

3. 有N颗药丸,总时间复杂度O(N*log(K))

 

由于公式分离后,为K项带系数的log相加的形式。或许不需要对N颗药丸一一计算,可能直接得到最优分配方法,但暂没得到推导结果。

由于初始属性值较小,或许可以先大致初始一个粗略的分配方式,然后根据该分配方式的K项的导数大小进行调整,优化得到最优结果。(复杂度似乎是对数级别?但并未继续想下去)

 

四、

(用)

1. 首先假设得到一个面积最大的凸多边形,则可以推导出必然每个顶点在原多边形边界上(否则可以构造更优多边形,从而与假设矛盾)。

2. 类似的进一步得到每个点必须为顶点。

3. F(m,n)到当前点,已经切割多少顶点,当前距离最近点切割多少定点。然后动规

其实还有一些约束,比如得到的连续3个点,中间那个点,必须是距离另两个点的直线最远的 两顶点间的点。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值