当前位置:网站首页>【滑动窗口】第九届蓝桥杯省赛B组:日志统计
【滑动窗口】第九届蓝桥杯省赛B组:日志统计
2022-07-06 12:51:00 【暮色_年华】
思路:区间最大长度为D,id和t配对后,按照时间排序,用双指针维护区间,这个区间长度最大长度不超过D。
cnt[id]记录当前区间id出现次数。
st[id]记录id是否为热帖。
只需要维护区间的右端点和左端点的情况。
参考ACWING梨绘小棠 的题解:
import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
static final int N=100010;
static int n,d,k;
static int[] cnt=new int[N];
static boolean[] st=new boolean[N];
static PII[] logs= new PII[N];
public static void main(String[]args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String[]s=br.readLine().split(" ");
n=Integer.parseInt(s[0]);
d=Integer.parseInt(s[1]);
k=Integer.parseInt(s[2]);
for(int i=0;i<n;i++){
String[]str=br.readLine().split(" ");
int t=Integer.parseInt(str[0]);
int id=Integer.parseInt(str[1]);
logs[i]=new PII(t,id);
}
Arrays.sort(logs,0,n);
for(int i=0,j=0;i<n;i++){
cnt[logs[i].id]++;
while(logs[i].t-logs[j].t>=d){
cnt[logs[j].id]--;
j++;
}
if(cnt[logs[i].id]>=k)st[logs[i].id]=true;
}
for(int i=0;i<N;i++){
if(st[i]==true)System.out.println(i);
}
}
}
class PII implements Comparable<PII>{
int t,id;
public PII(int t,int id){
this.t=t;
this.id=id;
}
public int compareTo(PII o){
return Integer.compare(t,o.t);
}
}
边栏推荐
- Spark SQL chasing Wife Series (initial understanding)
- js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序——za排序 & az排序
- 什么是RDB和AOF
- SSO single sign on
- Le langage r visualise les relations entre plus de deux variables de classification (catégories), crée des plots Mosaiques en utilisant la fonction Mosaic dans le paquet VCD, et visualise les relation
- Web开发小妙招:巧用ThreadLocal规避层层传值
- 3D face reconstruction: from basic knowledge to recognition / reconstruction methods!
- OSPF多区域配置
- el-table表格——sortable排序 & 出现小数、%时排序错乱
- 如何实现常见框架
猜你喜欢
3D人脸重建:从基础知识到识别/重建方法!
Hardware development notes (10): basic process of hardware development, making a USB to RS232 module (9): create ch340g/max232 package library sop-16 and associate principle primitive devices
No Yum source to install SPuG monitoring
Mécanisme de fonctionnement et de mise à jour de [Widget Wechat]
Application layer of tcp/ip protocol cluster
PHP online examination system version 4.0 source code computer + mobile terminal
PHP saves session data to MySQL database
基于STM32单片机设计的红外测温仪(带人脸检测)
New database, multidimensional table platform inventory note, flowus, airtable, seatable, Vig table Vika, Feishu multidimensional table, heipayun, Zhixin information, YuQue
Performance test process and plan
随机推荐
MLP (multilayer perceptron neural network) is a multilayer fully connected neural network model.
[wechat applet] operation mechanism and update mechanism
15million employees are easy to manage, and the cloud native database gaussdb makes HR office more efficient
7、数据权限注解
Intel 48 core new Xeon run point exposure: unexpected results against AMD zen3 in 3D cache
Word bag model and TF-IDF
R語言可視化兩個以上的分類(類別)變量之間的關系、使用vcd包中的Mosaic函數創建馬賽克圖( Mosaic plots)、分別可視化兩個、三個、四個分類變量的關系的馬賽克圖
Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
js之遍历数组、字符串
[MySQL] trigger
Aike AI frontier promotion (7.6)
过程化sql在定义变量上与c语言中的变量定义有什么区别
Pinduoduo lost the lawsuit, and the case of bargain price difference of 0.9% was sentenced; Wechat internal test, the same mobile phone number can register two account functions; 2022 fields Awards an
【论文解读】用于白内障分级/分类的机器学习技术
js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序——za排序 & az排序
基于STM32单片机设计的红外测温仪(带人脸检测)
[MySQL] basic use of cursor
use. Net analysis Net talent challenge participation
OSPF multi zone configuration
HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅