H咋搞啊

这是我的代码
从我的SNOI2017-一个简单的询问AC代码贴过来的,却死活过不去
#include <bits/stdc++.h>
using namespace std;
const int Maxn=1000005;
int n,q,num[Maxn],belong[Maxn];
long long ans[3][Maxn],cnt[3][Maxn];
const int p=20180623;
struct quest
{
    int id,l1,r1,l2,r2,x;
    bool operator < (const quest &tmp)const
    {
        if(belong[l1]!=belong[tmp.l1]) return belong[l1]<belong[tmp.l1];
        if(belong[r1]!=belong[tmp.r1]) return belong[r1]<belong[tmp.r1];
        if(belong[l2]!=belong[tmp.l2]) return belong[l2]<belong[tmp.l2];
        if(belong[r2]!=belong[tmp.r2]) return belong[r2]<belong[tmp.r2];
        return false;
    }
}Q[Maxn];
void dec1(int x)
{
    cnt[1][num[x]]--; 
}
void dec2(int x)
{
    cnt[2][num[x]]--;
}
void inc1(int x)
{
    cnt[1][num[x]]++;
}
void inc2(int x)
{
    cnt[2][num[x]]++;
}
void HeadMo()
{
    int l1=1,r1=0,l2=1,r2=0;
    for(int i=1;i<=q;i++)
    {
        while(l1<Q[i].l1) dec1(l1++);
        while(l1>Q[i].l1) inc1(--l1);
        while(r1<Q[i].r1) inc1(++r1);
        while(r1>Q[i].r1) dec1(r1--);
        while(l2<Q[i].l2) dec2(l2++);
        while(l2>Q[i].l2) inc2(--l2);
        while(r2<Q[i].r2) inc2(++r2);
        while(r2>Q[i].r2) dec2(r2--);
        ans[1][Q[i].id]=cnt[1][Q[i].x];
        ans[2][Q[i].id]=cnt[2][Q[i].x];
    }
    for(int i=1;i<=q;i++)
    {
        printf("%lld\n%lld\n%lld\n",ans[1][i],ans[2][i],ans[1][i]*ans[2][i]%p);
    }
}
int main()
{
    scanf("%d%d",&n,&q);
    int bloc=pow(n,0.6666666);
    for(int i=1;i<=n;i++) belong[i]=(i-1)/bloc+1;
    for(int i=1;i<=n;i++)
        scanf("%d",&num[i]);
    for(int i=1;i<=q;i++)
    {
        scanf("%d%d%d%d%d",&Q[i].l1,&Q[i].r1,&Q[i].l2,&Q[i].r2,&Q[i].x);
        Q[i].id=i;
    }
    sort(Q+1,Q+1+q);
    HeadMo();
    return 0;
} 

全部评论
如果题是原题那这题还有什么意义呢qaq
点赞 回复 分享
发布于 2019-06-14 22:47
R 可能小于 L
点赞 回复 分享
发布于 2019-06-14 22:42
***树死活过不去
点赞 回复 分享
发布于 2019-06-14 22:28
看清楚了,不是同一题
点赞 回复 分享
发布于 2019-06-14 22:19

相关推荐

点赞 评论 收藏
分享
牛客nb666号:看数据范围, -1e4~1e4, 用一个计数数组存一下, 再按个数让k减到0就行; 堆排不是O(n)的, 快速选择算法是O(n)但随机性较强
点赞 评论 收藏
分享
家里人这种思想对吗?最近找到了某大厂算法岗的实习,家里人一直跟我说要给领导买点东西,搞好关系,我真的搞不清楚他们这种思想到底怎么来的,真的很烦他们教我做事,他们总觉得自己是对的,我不照着他们的想法做,就觉得我态度不对,之前找实习也是只会嘴巴上对我说你要加油,你要努力,但是根本不知道我背后付出了多少努力,真的好烦被教做事的感觉。
青春运维少年不会梦到...:小时候老爸每次外出打工,我都会说注意安全,可是我真的懂老爸的工作吗,一个小学文凭的人出去打工能有什么安全的工作,可是老爸还是慈祥的回应我,仿佛每天能安全回家都归功于我的祈福。到了现在,我跨越3000多公里去了陌生的城市,老爸还是那个老爸,只不过现在多了问我的情况,会问我适应新城市吗,适应工作强度吗,到最后真的好奇,问我这个工作是干啥的;老爸没文化,不知道计算机网络有七层结构,也不知道云saas订阅,我只能说,就像汽车修理厂一样,我是那个修车的师傅。老爸可能觉得真的理解不了我的工作,之后也就没多问了。不过仍然还是给我传授他的经验,对于老爸来说,他也知道我做的是他难以理解的工作,知道小县城的那套江湖规矩难以闯荡大城市,但是他依旧会关心我。。。
实习的内耗时刻
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务