暑假集训D8 2023.8.1 补题
1.暑假集训D1 2023.7.24 补题2.暑假集训D2 2023.7.25 补题3.暑假集训D3 2023.7.26 补题4.暑假集训D4 2023.7.27 补题 5.暑假集训D5 2023.7.28 补题6.暑假集训D6 2023.7.29 补题7.暑假集训D7 2023.7.31 补题
8.暑假集训D8 2023.8.1 补题
9.暑假集训D9 2023.8.2 补题10.暑假集训D10 2023.8.3 补题11.暑假集训D11 2023.8.4 补题12.暑假集训D12 2023.8.5 补题13.暑假集训D13 2023.8.7 补题14.暑假集训D14 2023.8.8 补题15.暑假集训D15 2023.8.9 补题16.暑假集训D16 2023.8.10 补题 -组队赛17.暑假集训D17 2023.8.1118.暑假集训D18 2023.8.1219.暑假集训D19 2023.8.1420.博弈论21.暑假集训D20 2023.8.15 contest E NWERC 202122.暑假集训D21 2023.8.16 contest F SWERC 202123.暑假集训D22 2023.8.17 补题C. P3029 [USACO11NOV] Cow Lineup S
有
- 选定一个范围内的牛拍照,这些牛需要包含所有出现过的编号
- 照片的成本是这个范围,因此范围越小越好
已经给定所有牛的位置和编号,请你找出范围的最小值.
这题没什么思路.看题解后发现并不难,而且方法很多.
最简单的方法:
把所有牛的距离按从小到大排序,从左到右遍历.依次把牛加入队列,如果当前的牛的编号已经在队列里有了,并且之前的位置是在队列的最左侧,则将最左侧的牛出队,同时更新
找最左侧的牛也非常简单,只要用优先队列即可..
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#define endl '\n'
#define pb push_back
using namespace std;
typedef pair<int,int> PII;
const int N = 2e6+10;
PII a[N];
int m;
map<int,int> vis;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i].first>>a[i].second;
if(!vis[a[i].second])
{
m++;
vis[a[i].second]= 1;
}
}
vis.clear();
sort(a,a+n);
int res = 2147483647;
priority_queue<PII,vector<PII>,greater<PII> > q;
q.push(a[0]);
vis[a[0].second] =1;
int i = 1;
int cnt = 1;
int l = a[0].first;
while(i<n)
{
q.push(a[i]);
if(!vis[a[i].second])
{
cnt++;
}
vis[a[i].second] ++;
PII t = q.top();
if(vis[t.second]>1)
{
q.pop();
l = q.top().first;
vis[t.second]--;
}
if(cnt==m)
{
res = min (res,a[i].first - l);
}
i++;
}
cout<<res<<endl;
return 0;
}
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~