• 21.11.24模拟 乾坤/1248加工生产调度


    先加工1,再加工2
    t1=a1+max(b1,a2)+b2;

    先加工2,再加工1
    t2=a2+max(b2,a1)+b1;

    假设t1<t2

    于是有
    max(b1,a2)-a2-b1<max(b2,a1)-a1-b2
    -min(b1,a2)<-min(a1,b2)
    min(b1,a2)>min(a1,b2)

    但是这个好像有问题。。

    我们还是用这个
    我们设d=sign(a-b)

    d=-1 a<b
    d=0 随便
    d=1 a>b

    这样排序就好了,但是也不是很懂。。
    还是用第一个吧,好像没问题

    
    const int N = 1e5 + 79;
    struct data {
    	int a, b;
    	bool operator <(const data &rhs)const {
    		return min(a, rhs.b) < min(rhs.a, b);
    	}
    } p[N];
    int n;
    int main() {
    	freopen("universe.in","r",stdin);
    	freopen("universe.out","w",stdout);
    	read(n);
    	rep(i, 1, n) {
    		read(p[i].a);
    		read(p[i].b);
    	}
    	std::sort(p + 1, p + n + 1);
    
    	int ta(0), tb(0);
    	rep(i, 1, n) {
    		ta += p[i].a;
    		tb = max(ta, tb) + p[i].b;
    	}
    	out(tb, '
    ');
    	return 0;
    }
    

    本文来自博客园,作者:{2519},转载请注明原文链接:https://www.cnblogs.com/QQ2519/p/15398767.html

  • 相关阅读:
    javascript对象继承的实现
    浏览器兼容问题汇总<转>
    DOM笔记
    Ajax日记
    学习态度
    项目1
    导航项目-整体布局
    有关布局
    导航项目开始
    windows 服务 定时程序 跑不出数据
  • 原文地址:https://www.cnblogs.com/QQ2519/p/15398767.html
Copyright © 2020-2023  润新知