第三届沈阳航空航天大学校赛(大连海事大学赛)---I: Spoors (预处理)

Spoors

Time Limit: 1 Sec  Memory Limit: 128 MB

Description

Some of you may know when a snail crawls; he will leave a spoor after his tour. Then all of you will know that when many snail crawls, they will leave many spoors. In this problem, you will be given n snails’
spoors, then calculate the sum of length of their spoors. To make it harder, we assume that all the snail crawl on the same line. That is to say, when two snails’ spoor overlaps, the length of the overlap part is considered only once.

Input

There are many test cases.

In each case, the first line is a single integer n (0<n<=1000), indicating n snails.

Following n lines, in each line there are two integer a and b (0<a, b<=1000), indicating a snail crawls from point (0,a) to point (0,b). I warn that the length of (0,a) to (0,b) is |b-a+1|.

Proceed to End Of File.

Output

For each case, output one line with a single integer, indicating the sum length of the spoors.

Sample Input

12 426 32 551 95 73 19 25 5

Sample Output

359

题意:有一只蜗牛,在一条路上爬了好多次,每次都有个起点a和终点b,每次爬过都会在路上留下印记,问这条路上总共有多长是有印记的(重复的只算一次)。

分析:预处理一下,每次都有个起点和终点, 每次都把起点和终点间的路标记一下,到最后,看有多长是被标记过的即可。

AC代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;

int a[1005];
int main(){
//	freopen("in.txt", "r", stdin);
	int n, x, y;
	while(scanf("%d", &n)!=EOF){
		memset(a, 0, sizeof(a));
		int fo = 0;
		for(int i=0; i<n; i++){
			scanf("%d%d", &x, &y);
			if(x > y) swap(x, y);        //x有可能比y大
			if(y > fo) fo = y;
			for(int i=x; i<=y; i++)
				a[i] = 1;             //标记
		}
		int ans = 0;
		for(int i=0; i<=fo; i++){             //检查有多少是被标记的
			if(a[i]) ans ++;
		}
		printf("%d\n", ans);
	}
}

这种方法还是很常用的,我以前最开始是从tourist的代码里看到的,很神奇的方法^_^

时间: 2024-10-25 21:47:22

第三届沈阳航空航天大学校赛(大连海事大学赛)---I: Spoors (预处理)的相关文章

助教日志_【沈阳航空航天大学软件工程 1,2班】期末排行

题目: 团队作业(六) 团队作业(七) 个人最终总结 [附加作业]沈航软件工程期末附加作业 优秀博客赏析: http://www.cnblogs.com/RayShea/p/5557813.html http://www.cnblogs.com/yzdd/p/5535440.html http://www.cnblogs.com/wxl530/p/5597105.html 都说到了痛点,总结自身总结得很细致. 团队作业成绩: 团队cnblogs 团队作业   团队作业(一) 截止日期:4月2日2

[20180920]航空航天与国防行业的股票排名

亚光科技(SZ300123),涨跌: (-0.68%),便宜指数: 41.49,动态市盈率(PE):41.13,股息收益率 %: 0.19%,市净率(PB): 1.24,ROE: 3.01% 安达维尔(SZ300719),涨跌: (+9.97%),便宜指数: 40.06,动态市盈率(PE):36.34,股息收益率 %: 2.41%,市净率(PB): 3.93,ROE: 10.81% 航天通信(SH600677),涨跌: (+1.81%),便宜指数: 39.98,动态市盈率(PE):26.54,股

航空航天专用Everspin非易失性MRAM存储器

TAMU是由瑞典乌普萨拉的?ngstr?m航空航天公司(?AC)开发的高级磁力计子系统.TAMU的目的是提供地球磁场的磁力计数据,以便与子画面观测相关.实验性TAMU由使用领先技术制造的四种类型的设备组成:3轴地磁传感器,通过3D封装系统技术制造的MPU芯片,制造的4Mbit MRAM(磁性随机存取存储器)芯片由Everspin Technologies和IMU(惯性测量单元)芯片组成. ?ACMicrotec在其Tohoku-?ACMEMS单元(TAMU)(磁力计子系统)中使用了Everspi

第39届ACM国际大学生程序设计竞赛 亚洲区域赛(现场赛)西安站

 第39届ACM国际大学生程序设计竞赛 亚洲区域赛(现场赛)西安赛区总结报告 报告人:田思明 队名:ACpioneer 队长:陈志阳,队员:顾振兴,田思明 西安区域赛告下帷幕,我和陈志阳,顾振兴组成的ACpioneer队最终获得了一块宝贵的铜牌.首先要感谢陈志阳和顾振兴两位杰出队友的努力训练和出色表现,我作为一个新人跟着他们学到了很多很多,也十分珍惜和他们在一起的训练,比赛时光,其次要感谢陈志老师,不辞辛劳陪我们5队和6队前往西安参加比赛,还要感谢集训队所有曾经帮过我们的所有队员们,记得cdy

第七届省赛赛前交流赛部分题解

A题: Yougth's Game[Ⅲ]( 区间dp ) 这是在省赛前热身赛出的题目,可能是题目中有用到博弈的思想,很多人都在做,而且在尝试暴力.但是没有人往dp的方向上想. 题目类型:动态规划+博弈 分析:题意描述的很清楚,就是选择在两端取数,当前取的数不仅能够影响下一次的结果,而且能够影响后面的结果...又是一个求最优值,那么是不是可以往dp的方向上想了.区间dp 定义状态dp[ i ] [ j ] 为从 i 到 j 上A的得分,那么B的得分就是sum(i,j)-dp[ i ] [ j ]

一篇文章告诉你大数据应该怎么学

最近不少网友向我咨询如何学习大数据技术?大数据怎么入门?怎么做大数据分析?数据科学需要学习那些技术?大数据的应用前景等等问题.由于大数据技术涉及内容太庞杂,大数据应用领域广泛,而且各领域和方向采用的关键技术差异性也会较大,难以三言两语说清楚,本文从数据科学和大数据关键技术体系角度,来说说大数据的核心技术什么,到底要怎么学习它,以及怎么避免大数据学习的误区,以供参考. 1.大数据应用的目标是普适智能 要学好大数据,首先要明确大数据应用的目标,我曾经讲过大数据就好比万金油,像百度几年前提的框计算,这

(私人收藏)2019WER积木教育机器人赛(普及赛)解决方案-(全套)获取能源核心

2019WER积木教育机器人赛(普及赛)解决方案-(全套)获取能源核心 含地图,解决程序,详细规则,搭建方案EV3;乐高;机器人比赛;能力风暴;WER https://pan.baidu.com/s/1geQ0SUifYQ3XG2OpBeo2_gm206 原文地址:https://www.cnblogs.com/Nathan-Young/p/11026827.html

大数据开发需要学哪些项目 从哪里入手比较好

大数据开发需要学哪些项目?从哪里入手比较好?大数据时代的兴起,带起了批量先进技术的发展,于大数据技术而言,核心就是数据,包括我们的个人信息.浏览记录和购买详单等等,都是庞大的数据库中的一个数据.而大数据程序员在学习过程中,就会跟这些数据打交道,接触到不同的项目,从而不断升级自己的技术库. 大数据一般有哪些项目?大数据项目有很多,所用到的技术也是不同的,下面先给大家介绍一个在大数据中的典型项目. 1.项目介绍 阿里网上购物的人已经习惯了收到系统为他们做出的个性化推荐, Netflix会推荐你可能会

什么是云计算?什么是大数据?二者应该学哪个?

今天小编要跟大家分享的文章是关于什么是云计算?什么是大数据?二者应该学哪个?无论是大数据还是云计算,都是目前互联网行业非常火的两个职业,对于想要加入互联行业的小伙伴来说,二者的区别是什么?应该学习哪个呢? 正在学习Linux以及Linux入门的小伙伴一定要好好学习一下. 云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联网的一种比喻说法.过去在图中往往用云来表示电信网,后来也用来表示互联网和