题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1205

题意:中文题诶~

思路:johnson模板题

流水作业调度问题的Johnson算法:

(1)令N1={i|ai<bi}, N2={i|ai>=bi};

(2)将N1中作业按ai的非减序排序;将N2中作业按bi的非增序排序;

(3)N1中作业接N2中作业构成满足Johnson法则的最优调度。

关于johnson算法详细讲解:http://blog.csdn.net/liufeng_king/article/details/8678316

代码:

 #include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std; const int MAXN = 5e4+;
struct node{
int x, y, cnt;
}gg[MAXN]; bool cmp(node a, node b){
return a.cnt < b.cnt;
} bool cmp1(node a, node b){
return a.x < b.x;
} bool cmp2(node a, node b){
return a.y > b.y;
} int main(void){
int n;
scanf("%d", &n);
for(int i=; i<n; i++){
scanf("%d%d", &gg[i].x, &gg[i].y);
gg[i].cnt = gg[i].x-gg[i].y;
}
sort(gg, gg+n, cmp);
int index = ;
while(gg[index].cnt < ){
index++;
}
sort(gg, gg+index, cmp1);
sort(gg+index, gg+n, cmp2);
int ans = gg[].x + gg[].y;
int sum = gg[].x;
for(int i=; i<n; i++){
sum += gg[i].x;
ans = max(sum, ans) + gg[i].y;
}
printf("%d\n", ans);
return ;
}

最新文章

  1. MySQL版本介绍
  2. web框架学习列表
  3. Js 的 this 是什么
  4. Android Service使用拾遗[阿里工程师分享]
  5. sql prompt5安装好了 也破解完成了 然后到SQL里面 还是没有提示 是为什么?
  6. 转 sql 时间转换格式 convert(varchar(10),字段名,转换格式)
  7. win 10应用商店下载应用错误码0x80070422
  8. IE浏览器下读取客户端上传的文件大小
  9. hdu Number Sequence
  10. sed 工具简介
  11. 使用Fiddler伪造服务端返回数据,绕过软件试用期验证
  12. 201521123018 《Java程序设计》第13周学习总结
  13. Words to Use Instead of &quot;Very&quot;
  14. Linux基础 - 系统优化及常用命令
  15. 安装淘宝镜像cnpm时出现问题及解决方案
  16. Python3基础知识之日期时间与字符的转换
  17. 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程
  18. swift4.2 打印devicetoken
  19. Core Java-多线程-线程的生命周期
  20. Git入门基本操作

热门文章

  1. python——进程池
  2. redis安装包下载
  3. ubuntu 更新软件命令
  4. 2 《锋利的jQuery》jQuery选择器
  5. 20145239 《Java程序设计》实验三 实验报告
  6. php 获取上上个月数据 使用 strtotime(&#39;-1 months&#39;)的一个bug
  7. javscript 一些常用的工具方法
  8. UER#7 T2
  9. 使用 DNSPOD API 实现域名动态解析
  10. linux命令学习笔记(23):Linux 目录结构