POJ2018 Best Cow Fences DP或二分

来源:互联网 发布:什么是大数据产业 编辑:程序博客网 时间:2024/05/22 15:40

Problem Address:http://poj.org/problem?id=2018


简单说思路,就不发代码了。


DP思路:


dp[i]表示以某个点位结尾的最优值。

要么来源于[ i-k+1, i ] 这k个数的值。

要么来源于dp[ i-1]与第i个数合并的值。

实现很简单。


二分思路:


只是看到,不过没写。

从0.0000到2000.0000,以0.0001为单位,在这个区间二分。

取中值表示均值,构造新数列为原数列减去均值。

dp新数列求其最大和子段,并根据结果进行二分运算,大于零则对上半部分区间二分,小于零则对下半部分二分。

由于最终答案只有一个,所以二分后当最大和子段为零时运算结束,即为最终均值。



此外还有凸包等其他思路,只能等以后慢慢学习。

 

原创粉丝点击