博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdoj 2037 看的节目最多
阅读量:4216 次
发布时间:2019-05-26

本文共 1124 字,大约阅读时间需要 3 分钟。

//package hd2037;import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class Main {	public static void main(String[] args) {		ArrayList
list; Scanner in = new Scanner(System.in); int n; while((n = in.nextInt())!= 0) { list = new ArrayList<>();//每次新new一个 防止忘记 清空list而导致错误 for(int i = 0; i < n; i++ ) { int st = in.nextInt(); int end = in.nextInt(); list.add(new T(st, end)); } //按照时间排序当然是越早结束越好 Collections.sort(list); int ans = 1; T temp = list.get(0); for(int i = 1; i < list.size(); i++ ) { if(temp.end <= list.get(i).start) { ans++; temp = list.get(i); } } System.out.println(ans);// for(T node:list) {// System.out.print(node.end+" ");// } } }}class T implements Comparable
{ int start, end; public T(int st, int end) { start = st; this.end = end; } @Override public int compareTo(T o1) { if(this.end > o1.end) return 1; else if(this.end == o1.end) { if(this.start > o1.start) return 1; else return -1; } else return -1; } }

正确性的原理: 每次在在考虑当前时间时候后考虑节目时间最短的(也就是最早结束的),基于此易得这样 易得 可得全局最优解

转载地址:http://goimi.baihongyu.com/

你可能感兴趣的文章
Web前端学习笔记——AngularJS之TodoMVC案例
查看>>
Web前端学习笔记——AngularJS之豆瓣电影案例
查看>>
Web前端学习笔记——模块化开发
查看>>
Web前端学习笔记——VueJS基础
查看>>
Web前端学习笔记——VueJS之过滤器、生命周期、请求、动画
查看>>
Web前端学习笔记——VueJS之组件、路由
查看>>
Web前端学习笔记——HTML基础
查看>>
Web前端学习笔记——CSS基础、选择器
查看>>
Web前端学习笔记——Webpack
查看>>
Web前端学习笔记——CSS样式、外观、复合选择器
查看>>
Web前端学习笔记——CSS显示模式、特性、背景
查看>>
Web前端学习笔记——CSS盒子模型、浮动
查看>>
Web前端学习笔记——CSS版心和布局流程、清除浮动
查看>>
Web前端学习笔记——CSS之Photoshop切图
查看>>
Web前端学习笔记——CSS定位、高级技巧、文字溢出、精灵图、Web字体
查看>>
Web前端学习笔记——CSS京东案例、BFC
查看>>
Web前端学习笔记——HTML5新标签与特性
查看>>
Web前端学习笔记——CSS3 新增选择器
查看>>
Web前端学习笔记——Webpack结合VueJS使用、Mint-UI、MUI
查看>>
Web前端学习笔记——VueJS-APP案例
查看>>