洛谷 3029 [USACO11NOV]牛的阵容Cow Lineup
https://www.luogu.org/problem/show?pid=3029
题目描述
Farmer John has hired a professional photographer to take a picture of some of his cows. Since FJ's cows represent a variety of different breeds, he would like the photo to contain at least one cow from each distinct breed present in his herd.
FJ's N cows are all standing at various positions along a line, each described by an integer position (i.e., its x coordinate) as well as an integer breed ID. FJ plans to take a photograph of a contiguous range of cows along the line. The cost of this photograph is equal its size -- that is, the difference between the maximum and minimum x coordinates of the cows in the range of the photograph.
Please help FJ by computing the minimum cost of a photograph in which there is at least one cow of each distinct breed appearing in FJ's herd.
依次给出N头牛的位置及种类,要求找出连续一段,使其中包含所有种类的牛,问:这连续的一段最小长度是多少?
输入输出格式
输入格式:
Line 1: The number of cows, N (1 <= N <= 50,000).
- Lines 2..1+N: Each line contains two space-separated positive integers specifying the x coordinate and breed ID of a single cow. Both numbers are at most 1 billion.
输出格式:
- Line 1: The smallest cost of a photograph containing each distinct breed ID.
输入输出样例
6 25 7 26 1 15 1 22 3 20 1 30 1
4
说明
There are 6 cows, at positions 25,26,15,22,20,30, with respective breed IDs 7,1,1,3,1,1.
The range from x=22 up through x=26 (of total size 4) contains each of the distinct breed IDs 1, 3, and 7 represented in FJ's herd.
感谢 wjcwinmt 提供题目简述
队列
#include<cstdio> #include<algorithm> #include<iostream> using namespace std; int n; long long ans=2e15; struct node {int pos,bl;bool operator < (node p)const{return pos<p.pos;} }e[50001]; int head,tail,que[50001]; int hassh[50001],sum[50001],cnt; int main() {scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d%d",&e[i].pos,&e[i].bl),hassh[i]=e[i].bl;sort(hassh+1,hassh+n+1);int tot=unique(hassh+1,hassh+n+1)-(hassh+1);for(int i=1;i<=n;i++) e[i].bl=lower_bound(hassh+1,hassh+n+1,e[i].bl)-hassh;sort(e+1,e+n+1);for(int i=1;i<=n;i++){if(++sum[e[i].bl]==1) cnt++;que[tail++]=i;while(head<tail && sum[e[que[head]].bl]>1) sum[e[que[head++]].bl]--;if(cnt==tot) ans=min(ans,1ll*e[que[tail-1]].pos-e[que[head]].pos);}cout<<ans; }
转载于:https://www.cnblogs.com/TheRoadToTheGold/p/7128236.html
洛谷 3029 [USACO11NOV]牛的阵容Cow Lineup相关推荐
- 题解 洛谷 P3069 [USACO13JAN]牛的阵容Cow Lineup
洛谷P3069[USACO13JAN]牛的阵容CowLineup\color{#00F}{洛谷\ P3069\ [USACO13JAN]牛的阵容Cow Lineup}洛谷 P3069 [USACO13 ...
- 洛谷 2953 [USACO09OPEN]牛的数字游戏Cow Digit Game
洛谷 2953 [USACO09OPEN]牛的数字游戏Cow Digit Game 题目描述 Bessie is playing a number game against Farmer John, ...
- 洛谷P2879 [USACO07JAN]区间统计Tallest Cow
洛谷P2879 [USACO07JAN]区间统计Tallest Cow 题目描述 给出牛的可能最高身高,然后输入m组数据 a b,代表a,b可以相望,最后求所有牛的可能最高身高输出 输入输出格式 输入 ...
- P3033 [USACO11NOV]牛的障碍Cow Steeplechase
P3033 [USACO11NOV]牛的障碍Cow Steeplechase 题目描述 详见:P3033 [USACO11NOV]牛的障碍Cow Steeplechase solution 裸题. 对 ...
- [USACO11NOV]牛的障碍Cow Steeplechase(匈牙利算法)
洛谷传送门 题目描述: 给出N平行于坐标轴的线段,要你选出尽量多的线段使得这些线段两两没有交点(顶点也算),横的与横的,竖的与竖的线段之间保证没有交点,输出最多能选出多少条线段. 因为横的与横的,竖的 ...
- 洛谷 P3014 [USACO11FEB]牛线Cow Line
P3014 [USACO11FEB]牛线Cow Line 题目背景 征求翻译.如果你能提供翻译或者题意简述,请直接发讨论,感谢你的贡献. 题目描述 The N (1 <= N <= 20) ...
- 洛谷 P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver
P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver 题目描述 The cows are out exercising their hooves again! There are N ...
- 洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom
稍微学习一下强连通分量. https://www.cnblogs.com/stxy-ferryman/p/7779347.html 我觉得他讲得很好. 1 #include <cstdio> ...
- 【洛谷 2863】牛的舞会
题目描述 The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in their ...
最新文章
- OSGI框架的功能和设计思
- Linux系统命令常用查询
- Python按行输出文件内容具体解释及延伸
- ElasticSearch评分分析 explian 解释和一些查询理解
- 集成Dapr的 Azure 容器应用
- ipfs分布式存储网络服务器系统,IPFS分布式存储是什么意思 分布式云存储服务器详解...
- jmeter和oracle,jmeter测试Oracle数据库
- python基础逻辑判断语句(九)
- seL4操作系统基础02:从Hello World开始
- 基于Arduino和Blynk平台的远程控制智能小车
- linux查看内存占用情况
- 链表的相关面试题(完整)(C语言)
- Spring Boot入门(2)-项目属性配置
- 2022版史上最牛Java学习路线图(视频教程+配套资料)
- 解决Mac无法识别移动硬盘以及无法识别BootCamp Windows分区的问题
- 利用PTGui制作全景图并用Pano2VR生成SWF文件
- C#POP3协议实现SSL验证登陆GMAIL
- matlab求包络线拟合,MATLAB 一堆散点如何求包络线
- String 类方法及调用案例
- 熊太行.关系攻略之---正确认识关系和自己
热门文章
- 简述CISCO防火墙透明模式
- C# 小数位数保留的方法集锦
- 5.15 pymysql 模块
- 一步步写一个符合Promise/A+规范的库 1
- Absolute Uninstaller是类似于标准的Windows添加/删除卸载工具
- 浅谈ASP.net中的DataSet对象
- java+flash在线拍照和编辑,保存到服务器(Spring3.2.2+swf+jquery)
- 怎样增加网站的百度权重
- 我们工作到底为了什么(坚持全篇看完你将受益匪浅)(转)
- rhel5 LAMP配置详解