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

相关推荐

24分钟1.自我介绍2.黑盒测试用例设计方法3.运用刚才的测试方法对手机端淘宝购物车结算页面进行测试4.测试流程5.需求文档没有标明边界值,怎么确定边界值,确定边界值后怎么测6.你们公司自动化测试是测业务主流程还是新需求反问:不足之处答:问答问题前思考3s再答,针对提问再答
一笑而过2222:边:边界值分析法(处理输入边界) 类:等价类划分法(划分有效 / 无效输入) 定:判定表法(多条件组合的逻辑判定) 因:因果图法(分析输入输出的因果关系) 迁:状态迁移法(覆盖系统状态转换路径) 场:场景法(模拟端到端业务流程) 正:正交试验法(多因素组合的测试优化) 错:错误推测法(基于经验推测潜在漏洞) 记忆逻辑链(按测试场景优先级排序) 先处理明确输入:边界值 + 等价类(边类) 再处理条件组合:判定表 + 因果图(定因) 接着处理状态与流程:状态迁移 + 场景法(迁场) 最后优化多因素与补漏:正交试验 + 错误推测(正错)
查看6道真题和解析
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-19 20:55
因为业务不是喜欢的,所以就没去,现在实习工作也有很多dirtywork,很后悔,怎么能舔回这个offer啊
flmz_Kk:试一试跟hr舔回来,不过保不齐米的活也有很多dirtywork,只能说不要美化自己没走过的路
点赞 评论 收藏
分享
05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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