每头牛的危险系数是所有它上面牛的重量之和sum减去这头牛的力量。设牛i在牛j的上面,它们上面所有牛的重量之和为sum,所以牛i的危险系数为ai=sum-si,aj=sum+wi-sj,它们交换位置后bi=sum+wj-si,bj=sum-sj。 现在已知ai<bi,aj>bj。 假设ai>aj,得到bi>ai>aj>bj,满足max(ai, aj) < max(bi, bj),所以i在j上面更优,si+wi<sj。 假设ai<aj,这时需要比较aj和bi哪个小,即满足aj<bi,wi-sj<wj-si,si+wi<sj+wj。 综合两种情况,根据si+wi<sj+wj排序即可。
POJ 3045 Cow Acrobats 贪心
最新推荐文章于 2020-09-02 23:36:44 发布