luoguP1842奶牛玩杂技

解决方案:

1.贪心(不像是能用动归做)

2.以什么来贪心呢

3.重量,显然不行

4.力量也不行

5.猜测:与重量和力量都有关,再分析样例,发现是重量+力量

6.证明:设有a和b两头相邻的牛(a在下,b在上)

7.若Wa+Sa<Wb+Sb

8.交换a和b位置,设b上方牛总体重为W

9.a原:W+Wb-Sa b原:W-sb(<W+Wb-Sa) a改:W-Sa b改:W+Wa-Sb(>W-Sa)

10.显然W+Wa-Sb<W+Wb-Sa

11.证毕

12.注意结果有可能是负数(不然60分)

13.AC 奉上代码

#include<iostream>
#include<algorithm>
using namespace std;
struct cow
{
    int w,s;
}c[50002];
long long ans=-2147483647,wt;
int n;
bool cmp(cow a,cow b)
{
    return a.w+a.s<b.w+b.s;
}
int main()
{
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>c[i].w>>c[i].s;
        wt+=c[i].w;
    }
    sort(c+1,c+n+1,cmp);
    for(int i=n; i>=1; i--)
    {
        wt-=c[i].w;
        ans=max(wt-c[i].s,ans);
    }
    cout<<ans;
    return 0;
} //为什么是普及/提高-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值