zoukankan      html  css  js  c++  java
  • luogu P3709大爷的字符串题

    lxl出的又一道毒瘤题,题目本身让人读不懂,然而实际上题面用一句话就可以总结:

    给你n个数,m次询问区间[l,r]中众数的出现次数

    然后就用普通的莫队就好啦~~(数据也没有那么毒瘤)

    #include<algorithm>
    #include<cmath>
    #include<cstdio>
    using namespace std;
    const int maxn = 200200;
    int pos[maxn], num[maxn];
    int ans[maxn];
    int flag[maxn];
    int a[maxn], A[maxn];
    int n, m, block;
    int L = 0, R = 0;
    int Ans = 0;
    struct node{
        int l, r ,id;
        inline bool operator < (const node &x) const {
        return l / block == x.l / block ? r < x.r : l / block < x.l / block; 
      }
    }Q[maxn];
    
    inline void add(int x)
    {
        num[flag[a[x]]]--;
        num[++flag[a[x]]]++;
        Ans = max(Ans,flag[a[x]]);
    }
    inline void del(int x)
    {
        if(flag[a[x]] ==Ans && num[flag[a[x]]] == 1)
        Ans--;
        num[flag[a[x]]]--;
        num[--flag[a[x]]]++;
    }
    int main()
    {
        scanf("%d %d", &n, &m);
        block = sqrt(m);
        int N = n;
        for(int i = 1;i <= n;i++)
        {
            scanf("%d", &a[i]);
            A[i] = a[i];
        }
        sort(A + 1,A + n + 1);
        n = unique(A + 1,A + n + 1) - A - 1;
        for(int i = 1;i <= N;i++)
        a[i] = lower_bound(A + 1,A + n + 1,a[i]) - A;
        for(int i = 1;i <= m;i++)
        {
            scanf("%d %d", &Q[i].l, &Q[i].r);
            Q[i].id = i;
        }
        sort(Q + 1, Q + 1 + m);
        for(int i = 1;i <= m;i++)
        {
            while(L < Q[i].l) del(L++);
            while(L > Q[i].l) add(--L);
            while(R < Q[i].r) add(++R);
            while(R > Q[i].r) del(R--);
            ans[Q[i].id] = -Ans;
        }
        for(int i = 1;i <= m;i++)
        printf("%d
    ", ans[i]);
        return 0;
    }

    我竟然因为在原先模版中的flag[0] = 1;没有删去只得了20分QAQ。

  • 相关阅读:
    FAST特征点检测算法
    ORB算法介绍(转)
    centos 安装MATLAB :设置回环设备失败: 没有那个文件或目录
    特征检测和特征匹配方法
    摄像机标定-- 张正友标定推导详解
    sublime text plugins
    使用Sublime Text搭建python调试环境[转]
    python OS 模块
    python 守护进程,监控进程
    python 带正则的search 模块
  • 原文地址:https://www.cnblogs.com/jiqimin/p/10628310.html
Copyright © 2011-2022 走看看