1 条题解
-
0
自动搬运
来自洛谷,原作者为

jb123456
**搬运于
2025-08-24 22:41:11,当前版本为作者最后更新于2023-04-05 12:03:52,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
暴力 排序把每个 相同的找出,用指针记录相同时间最后位置都成立的位置。 因为排序把 按从小到大排序过了,所以不需要考虑 的大小。
#include<bits/stdc++.h> using namespace std; struct o{ int a,b; }a[100005]; int n,d,k; int cmp(o x,o y){ if(x.b!=y.b)return x.b<y.b; return x.a<y.a; } int f1(int x,int y){ int r=x; for(int i=x;i<=y;i++){ while(a[r+1].a-a[i].a<d&&r<y)r++;//找最后一个时间和位置都成立的位置 if(r-i+1>=k)return 1;//判断位置是i时是否是热帖 } return 0; } int main() { cin>>n>>d>>k; for(int i=1;i<=n;i++){ cin>>a[i].a>>a[i].b; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ int r=i; while(a[r+1].b==a[i].b)r++;//找到最后一个id相同的位置 if(f1(i,r)){//判断i到r可不可以是热帖 cout<<a[i].b<<endl; } i=r; } return 0; }
- 1
信息
- ID
- 5971
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者