1238. 日志统计

Posted doubest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1238. 日志统计相关的知识,希望对你有一定的参考价值。

题目链接:

https://www.acwing.com/problem/content/1240/

 

题解:

双指针算法,注意率先移动前向的指针,当前向指针的时间-后向指针的时间超过了规定时间的话,后项指针要移动到该区间里才行

 

AC代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define x first
#define y second
using namespace std;

typedef pair<int,int> PII;
const int N = 1e5+10;

PII logs[N];
bool st[N];
int cnt[N];
int n,d,k;

int main(){
    scanf("%d%d%d",&n,&d,&k);
    for(int i = 0;i<n;i++) scanf("%d%d",&logs[i].x,&logs[i].y);
    sort(logs,logs+n);
    
    for(int i=0,j=0;i<n;i++){
        int id = logs[i].y;
        cnt[id]++;
        while(logs[i].x - logs[j].x >= d){
            cnt[logs[j].y]--;
            j++;
        }
        
        if(cnt[id] >= k) st[id] = true;
    }
    
    for(int i=0;i<N-1;i++)
        if(st[i]) printf("%d
",i);
    
    return 0;
}

 

以上是关于1238. 日志统计的主要内容,如果未能解决你的问题,请参考以下文章

hihocoder1238 Total Highway Distance(树形dp)

argparse 代码片段只打印部分日志

常用python日期日志获取内容循环的代码片段

[ptyhon] 日志采集分析示例

HDU 1238 Substrings (水)

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情