【差分】POJ 3263 Tallest Cow
题目大意
POJ链接
给出\(n\)头牛的身高,和\(m\)对关系,表示牛\(a[i]\)与\(b[i]\)可以相互看见。已知最高的牛为第\(p\)头,身高为\(h\)。
求每头牛的身高最大可能是多少。
(老姚的翻译好像改变量名了昂,但是无所谓)
输入格式
第一行四个整数\(n,p,h,m\),表示见题意,
接下来\(m\)行,每行两个正整数表示\(a[i],b[i]\)。
输出格式
\(n\)行整数表示每头牛的最大可能身高。
数据范围
\(1\le n\le 10000,1\le h\le 1000000,0\le m\le 10000\)
样例输入
9 3 5 5
1 3
5 3
4 3
3 7
9 8
样例输出
5
4
5
3
4
4
5
5
5
思路
既然\(a[i],b[i]\)之间可以相互看见,那么这两头牛之间的牛肯定都要比这两头牛要矮。把他们的身高都减去1即可。至于最后怎么算高度,就是相对于\(p\)的,用差分数组。
代码
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
const int maxn=10000+10;
int n,p,h,m;
map<pair<int,int>,int> vis;//和容易题那题一样依然可能有重复条件
int c[maxn],d[maxn];
int main(){
    scanf("%d%d%d%d",&n,&p,&h,&m);
    for(int i=1;i<=m;i++){
        int a,b;
        scanf("%d%d",&a,&b);
        if(a>b)swap(a,b);//有的条件的顺序反了
        if(vis[make_pair(a,b)])continue;
        vis[make_pair(a,b)]=1;
        d[a+1]--;d[b]++;
    }
    for(int i=1;i<=n;i++){
        c[i]=c[i-1]+d[i];
        printf("%d\n",h+c[i]);
    }
    return 0;
}
【差分】POJ 3263 Tallest Cow的更多相关文章
- POJ 3263 Tallest Cow 题解
		题目 FJ's \(N (1 ≤ N ≤ 10,000)\) cows conveniently indexed 1..N are standing in a line. Each cow has a ... 
- poj 3263 Tallest Cow(线段树)
		Language: Default Tallest Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 1964 Ac ... 
- poj 3263 Tallest Cow
		一个压了很久的题目,确实很难想,看了别人的做法后总算明白了. 首先要明白一点,因为题目说明了不会有矛盾,所以题目给出来的区间是不能相交的,否则是矛盾的.(原因自己想) 然后既然区间只能是包含的,就很明 ... 
- Tallest Cow POJ - 3263 (区间点修改)
		FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positi ... 
- bzoj 1635: [Usaco2007 Jan]Tallest Cow 最高的牛——差分
		Description FJ's N (1 <= N <= 10,000) cows conveniently indexed 1..N are standing in a line. E ... 
- 【差分】Tallest Cow
		题目 FJ's N(1≤N≤10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive ... 
- POJ3263 Tallest Cow 差分
		题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a p ... 
- bzoj1635 / P2879 [USACO07JAN]区间统计Tallest Cow
		P2879 [USACO07JAN]区间统计Tallest Cow 差分 对于每个限制$(l,r)$,我们建立一个差分数组$a[i]$ 使$a[l+1]--,a[r]++$,表示$(l,r)$区间内的 ... 
- 【BZOJ】1635: [Usaco2007 Jan]Tallest Cow 最高的牛(差分序列)
		http://www.lydsy.com/JudgeOnline/problem.php?id=1635 差分序列是个好东西啊....很多地方都用了啊,,, 线性的进行区间操作orz 有题可知 h[a ... 
随机推荐
- JS语法_集合
			数组方法 forEach // no-log Array.prototype.forEach_ = function (cb) { let len = this.length for (let i = ... 
- Java面试必问之-JUC
			JUC:java.util.concurrent (Java并发编程工具类) 代码:D:\JAVA\Java_Learning\Elipse_Project\workspace200301EE\JUC ... 
- Linux实战(3):升级最新内核
			# 先查看一下当前内核版本 uname -r # 升级内核 rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch. ... 
- 重磅来袭 Vue 3.0 One Piece 正式发布
			代号为One Piece 的Vue3.0 在9月19日凌晨正式发布!! 此次vue3.0 为用户提供了全新的 composition-api 以及更小的包大小,和更好的 TypeScript 支持. ... 
- hystrix文档翻译之metrics
			metrics和监控 动机 HystrixCommands和HystrixObservableCommands执行过程中会产生相关运行情况的metrics.这些metrics对于监控系统表现有很大的 ... 
- spring中配事务的工具配置
			<!--配置事务--><bean id="transactionManager" class="org.springframework.jdbc.dat ... 
- tkMybatis和Mybatis Generator的结合使用
			tkMybatis配置 tkmybatis是基于Mybatis框架开发的一个工具,通过调用它提供的方法实现对单表的数据操作,以免写任何sql语句. tkMybatis通常与Mybatis以及Mybat ... 
- ZooKeeper学习(一)了解ZooKeeper
			一.什么是ZooKeeper ZooKeeper主要服务于分布式系统,可以用ZooKeeper来做:统一配置管理.统一命名服务.分布式锁.集群管理. 使用分布式系统就无法避免对节点管理的问题(需要实时 ... 
- java基础篇1
			JAVA基础篇1 注释 单行注释 //这是一个单行注释,由两个斜杠组成,不能嵌套多行注释 多行注释 /*这是一个 多行注释 ,//里面不能嵌套多行注释, 但是可以嵌套单行注释*/ 文档注释 /**ja ... 
- 实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值
			摘要:一文带你用小熊派开发板动手做土壤湿度传感器. 一.实验准备 1.实验环境 一块stm32开发板(推荐使用小熊派),以及数据线 已经安装STM32CubeMX 已经安装KeilMDK,并导入stm ... 
