zoukankan      html  css  js  c++  java
  • P1842 奶牛玩杂技

    题目描述

    题目链接

    思路

    这道题目知道结论是比较好写的,关键是结论是怎样推出来的。

    我们先只考虑相邻的两个奶牛,设这两个奶牛为 (a)(b) ,这两个奶牛上面的奶牛总重量为 (W) ,所以我们考虑 (a) 在上面的情况和 (b) 在上面的情况。

    (a) 在上面的情况:

    (a) 的压扁指数为 (W-S_a)(b) 的压扁指数为 (W+W_a-S_b)

    (b) 在上面的情况:

    (b) 的压扁指数为 (W-S_b)(a) 的压扁指数为 (W+W_b-S_a)

    我们如果想让 (a)(b) 的上面比 (b)(a) 的上面更优,就需要满足 (max(W-S_a,W+W_a-S_b) <max(W-S_b,W+W_b-S_a))

    但是直接比较是没有办法比较的。

    让我们看一下由已知条件我们可以推出来什么。

    (W-S_a<W+W_b-S_a) ,所以我们可以发现 (W-S_a) 不用和 (W+W_b-S_a)(W-S_b) 比较。因为我们设 (W+W_b-S_a)(max) ,那么直接就可以得出结论。如果设 (W-S_b)(max) ,那么就有 (W-S_a<W+W_b-S_a<W-S_b) 。所以 (W-S_a<max(W-S_b,W+W_b-S_a))

    所以现在我们只需要让 (W+W_a-S_b<max(W-S_b,W+W_b-S_a)) 就可以了。

    (W+W_a-S_b>W-S_b) ,和上面的证明相似,我们可以证明 (W-S_b<max(W-S_a,W+W_a-S_b))

    所以不论怎样 (W+W_a-S_b)(W-S_b) 是没有可能满足条件的,所以我们只能让

    [ left{ egin{aligned} W+W_a-S_b<W+W_b-S_a \ W-S_b<W+W_b-S_a end{aligned} ight. ]

    解得 $$S_a+W_a<S_b+W_b$$

    Code

    #include<bits/stdc++.h>
    #define pii pair<ll,ll>
    #define mp make_pair
    #define one first
    #define two second
    #define ll long long
    using std::sort;
    using std::pair;
    using std::max;
    using std::mp;
    const int N=5e4+100;
    const ll INF=9223372036854775807;
    int n;
    ll maxx=-INF;
    pii id[N];
    ll sum[N];
    inline bool cmp(pii a,pii b) {return a.one+a.two<b.one+b.two;}
    int main()
    {
    	scanf("%d",&n);
    	for (int i=1;i<=n;i++)
    	scanf("%lld%lld",&id[i].one,&id[i].two);
    	sort(id+1,id+n+1,cmp);
    	for (int i=1;i<=n;i++)
    	{
    		maxx=max(maxx,sum[i-1]-id[i].two);
    		sum[i]=sum[i-1]+id[i].one;
    	}
    	printf("%lld
    ",maxx);
    	return 0;
    }
    
  • 相关阅读:
    centos7/RHEL7安装LibreOffice
    CentOS7开机启动管理systemd简介及使用
    Vim使用技巧
    16_用LVM扩展xfs文件系统(当分区空间不够时)
    15_RHEL7挂载NTFS分区
    14_RHEL7安装mplayer
    polyfill-eventsource added missing EventSource to window ie浏览器 解决方案
    关于vue,webpack 中 “exports is not defined”报错
    2018 vue前端面试题
    Error: No PostCSS Config found in... 报错 踩坑记
  • 原文地址:https://www.cnblogs.com/last-diary/p/11711390.html
Copyright © 2011-2022 走看看