首页 > 其他 > 详细

计蒜客 木桩涂涂看

时间:2019-05-18 23:22:48      阅读:132      评论:0      收藏:0      [点我收藏+]

问题描述

n 个木桩排成一排,从左到右依次编号为 1,2,3…n。每次给定 2 个整数 a,b(a≤b),蒜头君便骑上他的电动车从木桩 a 开始到木桩 b 依次给每个木桩涂一次颜色。但是 n 次以后 lele 已经忘记了第 i 个木桩已经涂过几次颜色了,你能帮他算出每个木桩被涂过几次颜色吗?


输入格式

第一行是一个整数 n(n≤100000)。

接下来的 n 行,每行包括两个整数 a, b (1≤a≤b≤n)。

输出格式

n 个整数,第 i 个数代表第 i 个木桩总共被涂色的次数。


样例输入

3
1 1
1 2
1 3
1
2
3
4

样例输出

3 2 1

分析

差分序列的基本应用

代码

#include <cstdio>
#include <iostream>
#include <algorithm>
#define maxn 100000
using namespace std;
int d[maxn + 5];
void add(int a, int b){
	d[a] += 1;
	d[b + 1] -= 1;
}
int main(){
	int n;
	scanf("%d", &n);
	for(int i = 1; i <= n; i++){
		int a, b;
		scanf("%d %d", &a, &b);
		add(a, b);
	}
	//依次输出元素 
	int t = d[1];
	printf("%d ", d[1]);
	for(int i = 2; i <= n; i++){
		printf("%d ", d[i] + t);
		t += d[i];
	}
	return 0;
}

计蒜客 木桩涂涂看

原文:https://www.cnblogs.com/woxiaosade/p/10887485.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!