• BZOJ 1222: [HNOI2001]产品加工


    F[i]表示第一个机器用了i的时间,第二个机器的最小时间

    转移即可

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int n,m,F[30005];
    int main(){
    	scanf("%d",&n);
    	for (int i=1; i<=5*n; i++) F[i]=1e9;
    	for (int i=1; i<=n; i++){
    		int a,b,c;
    		scanf("%d%d%d",&a,&b,&c);
    		int C=max(max(a,b),c);
    		if (!a) a=1e9; 
    		if (!b) b=1e9; 
    		if (!c) c=1e9;
    		for (int j=m; j>=0; j--){
    			if (a!=1e9) F[j+a]=min(F[j+a],F[j]);
    			if (c!=1e9) F[j+c]=min(F[j+c],F[j]+c);
    			F[j]+=b;
    			F[j]=min(F[j],(int)1e9);
    		}
    		m+=C;
    	}
    	int ans=1e9;
    	for (int i=0; i<=m; i++) ans=min(ans,max(i,F[i]));
    	printf("%d
    ",ans);
    	return 0;
    }
    

      

  • 相关阅读:
    C++中头文件包含的问题
    linux环境变量
    win32进程和线程
    断言
    win32中的常用类型转换
    可变形参
    #define
    CString与char*互相转化
    extern
    手机CPU和GPU厂商
  • 原文地址:https://www.cnblogs.com/silenty/p/9915043.html
Copyright © 2020-2023  润新知