杭电oj —— 2037(贪心算法)

【ACM】杭电OJ 2037 题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较。 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <set> #incl... 阅读详情
package com.demo2;
/*
 * “今年暑假不AC?”
“是的。”
“那你干什么呢?”
“看世界杯呀,笨蛋!”
“@#$%^&*%...”

确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。
作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,
比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,
假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目)
 */

import java.util.Scanner;

/*
 * 输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,
 * 然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,
 * 为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。
 */
public class HDU_oj2037 {
	public static void main(String[] args) {
		Scanner sn = new Scanner(System.in);
		while (sn.hasNext()) {
			int n = sn.nextInt();
			if (n == 0)
				break;
			Pro[] arr = new Pro[n]; //[null, null, null] 

			for (int i = 0; i < n; i++) {
				arr[i] = new Pro();  //[obj1, obj2, obj3],对象数组的操作
				arr[i].setStart(sn.nextInt()); // 开始时间
				arr[i].setEnd(sn.nextInt()); // 结束时间
			}

			// 按照结束时间将arr[]排序
			for (int i = 0; i < n - 1; i++) {
				for (int j = i + 1; j < n; j++) {
					if (arr[i].getEnd() > arr[j].getEnd()) {
						swap(arr,i,j);
					}
				}
			}
			
//			for (int i = 0; i < n; i++) {
//				System.out.print(arr[i].getEnd() + " ,");
//			}

			int time = arr[0].getEnd(); // 记录目前已经播放的时间
			int count = 1; // 记录可以播放的完整节目数(已经可以播放第一个节目
			for (int i = 1; i < n; i++) {
				if (time <= arr[i].getStart()) {
					time = arr[i].getEnd();
					count++;
				}
			}
			System.out.println(count);
		}
		sn.close();
	}

	public static void swap(Pro[] arr,int aa,int bb) {
		Pro temp = arr[aa];
		arr[aa] = arr[bb];
		arr[bb] = temp;
	}

}

class Pro {
	private int start;
	private int end;

	public int getStart() {
		return start;
	}

	public void setStart(int start) {
		this.start = start;
	}

	public int getEnd() {
		return end;
	}

	public void setEnd(int end) {
		this.end = end;
	}
}

本题运用贪心算法,将结束时间先排好序。

编码过程中出现了几个小bug:

1、引用对象数组刚刚创建时只是创建了一个空间,并没有创建这些对象,所以赋值时需要进行再次new对象

2、swap交换,引用类型和数组这种存在堆空间的才可以真正的操作其本身,单纯一个变量不会发生变化,这种问题面试题里面也会常考,要注意

3、记得time那里的<=,千万不能不写等于号,会少看好几个节目

杭电oj训练(续1) 1060 1060 我的代码 (错误) #include<bits/stdc++.h> using namespace std; int main (){ int n,x; scanf("%d",&x); while(x--){ scanf("%d",&n); int a[11]={0,1,4,2,2,6,4,8,1,3}; while(n>=10)n=n/10; printf("%d\n",a[n]); } return 0; } (改) #i 阅读详情

相关推荐

Computers & Security 投稿实战:从零到一详解避坑指南

本文详细解析了向《Computers & Security》投稿的全流程避坑指南,包括ORCID账号注册、文件格式统一、Editorial Manager®系统操作技巧等关键步骤。特别强调了cover letter撰写、Declaration of Interest Statement准备以及PDF生成后的检查要点,帮助研究者高效完成投稿流程。

weixin_29228203的博客 674

杭电oj 2037 今年暑假不AC C语言

贪心算法是一种解决优化问题的算法。其基本思想是将整个问题分解成一系列子问题,并为每个子问题找到最优解决方案,最终通过组合子问题的解来得到整个问题的解。本题:1.先对结束时间进行排序并将之对应开始时间的储存位置进行对应变更;2.以最先结束的时间为起点向后寻找匹配的开始时间并。将sum++(sum初始值为1)

2303_76711142的博客 384

Rstudio-server无法登陆?几种解决方法 卡死 崩溃了 卡住

Q6:Rstudio-server无法登陆?几种解决方法1 检查登陆方式是否正确 (IP/域名 端口是否弄错了)2 查看自己用户名和密码是否输入错误(大部分无法登陆的原因都是第1点和第2点)3清空浏览器cookie缓存,或者换个浏览器登陆,推荐谷歌浏览器4 如果是出现下面截图界面,试试点击Terminate R 或 Safe Mode(如果试了还不行,继续尝试后面方法5~8)5 ssh登录,然后查看自己的磁盘存储空间是否用尽(方法见Q9),如果是,先清理自己的磁盘空间。

生信小博士的博客 1万+

杭电oj--今年暑假不AC2037

输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?

无聊人的博客 163

解码运动想象:BCI Competition IV 2a数据集实战指南

本文提供了BCI Competition IV 2a数据集的实战指南,详细解析了该经典运动想象脑电数据集的结构、文件格式与实验范式。通过MNE-Python等工具,逐步演示了从原始信号读取、预处理(通道选择、滤波、分段)到特征提取(CSP、频带功率)和模型训练(LDA、SVM)的完整流程,并强调了受试者独立评估的重要性,为BCI研究者提供了可复现的入门与进阶路径。

weixin_29304985的博客 362

Altera Cyclone4 EP4CE15F17C8核心板硬件设计避坑指南(附AD09工程文件)

本文深入解析Altera Cyclone4 EP4CE15F17C8核心板硬件设计中的关键问题与解决方案,涵盖电源架构优化、信号完整性处理、热设计及生产调试要点。特别提供经过验证的AD09工程文件,帮助开发者规避常见设计陷阱,提升FPGA项目的成功率与可靠性。

weixin_29159441的博客 297

【杭电-oj】-2037-今年暑假不AC(贪心,sort,结构体)

今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 46778    Accepted Submission(s): 25088 Problem Description “今年暑假不AC?” “是的。

Bear1998的博客 581

利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案

tokenizer将输入的文本列表texts转换为 PyTorch 张量,同时进行填充和截断操作,以确保所有输入具有相同的长度。对输入进行推理,得到模型的输出。对模型的最后一层隐藏状态求平均,得到每个文本的向量表示。.numpy()将 PyTorch 张量转换为 NumPy 数组。使用DBSCAN算法对文本向量进行聚类。eps是邻域半径,是形成核心点所需的最小样本数。fit方法对输入的向量进行聚类,并返回每个样本所属的簇标签。try:定义了一个 POST 请求的 API 路由,路径为。

AI的内部世界的博客 1069

由杭电oj2037初识贪心算法

由问题出发了解贪心算法

Star__01的博客 1138

USB2.0协议解读

就写到这吧,其他协议层等属于软件需要了解的东西了。简单看了下,本文总结的有点乱,有两个原因吧,其一是理解的不够透彻,无法用简单明了的语言总结;其二是感觉这个协议文档章节划分的也不是很好,有点大杂烩。

qflook的博客 3673

Yield Management软件:Lam Research二次开发_(5).缺陷分析与分类方法

在半导体制造过程中,缺陷分析和分类是提高良率管理(Yield Management)的关键步骤。通过准确地识别和分类缺陷,可以更好地理解工艺过程中的问题,从而采取有效的措施来提高生产效率和产品质量。本节将详细介绍缺陷分析和分类的方法,包括缺陷检测、特征提取、分类算法及其在Lam Research软件中的应用。

2401_87715305的博客 687

【杭电oj】2037今年暑假不AC(贪心算法)

今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 38855    Accepted Submission(s): 20773 Problem Description “今年暑假不AC?” “是的。

wyg1997 883

Python爬虫:实时交通流量数据爬取与路况分析

随着城市化进程的不断推进,交通流量的管理与预测已成为智能交通系统的重要研究方向。交通流量数据不仅为城市交通管理提供了科学依据,还为驾驶员提供了实时路况信息,帮助其做出更加合理的出行决策。通过爬虫技术,我们可以实时获取城市的交通流量数据,从而分析路况,优化交通管理。在这篇博客中,我们将介绍如何使用Python编写一个爬虫来爬取实时交通流量数据,分析道路的交通状况。我们将使用最新的技术工具来构建爬虫,包括。

2201_76125261的博客 1267

杭电oj2037 C

2.只要前一个节目的结束时间早于、或与后一个节目开始时间相等,能完整看完的节目数就+1。1.按节目结束时间升序排列,为的是能尽可能增加完整节目数(即选用持续时间更短的节目)

He11o__Wor1d的博客 541

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

杭电oj HDOJ 2037 今年暑假不AC(贪心算法)

杭电oj HDOJ 2037 今年暑假不AC(贪心算法) 题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2037 Problem Description “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%…” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作...

qq_39880604的博客 473

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

贪心算法-杭电oj2037

/************************************************************************* > File Name: 2037.cpp > Author: 丧乱 > Mail: 1270458214@qq.com > Created Time: 2015年11月22日 星期日 11时14分37秒 *****

Salvation 709

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

杭电OJ | 2037 今年暑假不AC 贪心算法

2037 Input 输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。 Output 对于每个测试实例,输出能完...

qq_41924481的博客 792

杭电OJ2037

杭电OJ2037 这里参考算法笔记的区间贪心问题 注意排序算法中起始时间从大到小,当起始时间相同时,要把结束时间按照从小到大排序,这样能够选取小区间从而不冲突的区间数更多 #include<cstdio> #include<algorithm> using namespace std; struct project{ int left,right; }I[100]; bool cmp(project a,project b){ if(a.left!=b.left) return

大权子的博客 504

杭电OJ第11页2035~2039算法题(C语言)

目录2035.人见人爱A^B2036.改革春风吹满地2037.今年暑假不AC2038.Message2039.三角形 2035.人见人爱A^B Problem Description 求A^B的最后三位数表示的整数。 说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。 Output 对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。

代码星辰的博客 1330

HDOJ 2037 今年暑假不AC

http://acm.hdu.edu.cn/showproblem.php?pid=2037 #include #include using namespace std; typedef struct {     int begin;     int end; }Game; Game aa[101]; bool cmp(Game a,Game b) {     if(a.end        

stven_king的专栏 559

【杭电oj】2036~2045

思路:涉及贪心算法,可以看看这个视频。2037.今年暑假不AC。

qq_65578540的博客 51

HDOJ 2037今年暑假不AC

杭电oj2037今年暑假不AC原题链接 题目描述: 思路:贪心算法,每次选择观看最早结束的节目 AC代码: #include <iostream> #include <algorithm> using namespace std; struct node { int star; int end; }; bool cmp(node a, node b) { return a.end < b.end; } node mv[105]; int m

qq_51207080的博客 176

贪心算法笔记

总是作出在当前看来是最好的选择!!! 不从整体上加以考虑,所作出的仅仅是在某种意义上的局部最优解。 例一:田忌赛马 经典例子:事件序列问题 反证法证明贪心思路的正确性 可图性判定! 两个概念: 1.度序列:若把图G所有顶点的度数排成一个序列S,则称S为图的度序列 ...

m0_55756918的博客 338

《贪心算法》— HDOJ 2037 今年暑假不AC 贪心算法

今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 47539Accepted Submission(s): 25566 Problem Description “今年暑假不AC?” “是的。”...

69小石头的博客 760

杭电Oj刷题(2037)

今年暑假不AC 题目描述: “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫...

lucy girl 665

杭电oj2037,区间贪心

Problem Description “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%…” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小...

qq_37659800的博客 350
上一篇: 杭电oj —— 2036
下一篇: 杭电oj —— 2039
LiLi_code
博客等级 码龄8年 40粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值