题目名称 4251. 我能在摸鱼被发现的情况下躲避教练的视奸吗
输入输出 shijian.in/out
难度等级 ★★★★
时间限制 2000 ms (2 s)
内存限制 512 MiB
测试数据 10
题目来源 GravatarRpUtl 于2026-01-13加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:6, 提交:34, 通过率:17.65%
GravatarRpUtl 100 1.605 s 24.61 MiB C++
GravatarRpUtl 100 1.630 s 25.73 MiB C++
Gravatar终焉折枝 100 1.960 s 25.17 MiB C++
Gravatar终焉折枝 100 1.974 s 25.17 MiB C++
Gravatarxuyuqing 100 3.295 s 38.02 MiB C++
Gravatar郑霁桓 100 4.796 s 139.93 MiB C++
GravatarRpUtl 90 2.292 s 28.67 MiB C++
Gravatar终焉折枝 80 2.666 s 27.54 MiB C++
GravatarRpUtl 80 2.705 s 28.70 MiB C++
Gravatar终焉折枝 80 2.979 s 22.47 MiB C++
本题关联比赛
期末考试0
关于 我能在摸鱼被发现的情况下躲避教练的视奸吗 的近10条评论(全部评论)

4251. 我能在摸鱼被发现的情况下躲避教练的视奸吗

★★★★   输入文件:shijian.in   输出文件:shijian.out   简单对比
时间限制:2 s   内存限制:512 MiB

【题目背景】

题目背景不根据真实经历改编。

你正在摸鱼看魔圆,这时 hxf 破门而入,于是你假装在写数据结构题。

【题目描述】

给序列 $a_1,\dots,a_n$,$b_1,\dots,b_n$,$c_1,\dots,c_n$,

定义区间 $[l,r]$ 的价值为 $a_l,\dots,a_r$ 按位与,$b_l,\dots,b_r$ 按位或,$c_l,\dots,c_r$ 的最大公因数,这三者的乘积;

$m$ 次查询,每次查询给出区间 $[l,r]$,查询满足 $l\le l'\le r'\le r$ 的 $[l',r']$ 的价值之和。

【输入格式】

第一行两个整数 $n,m$;

第二行 $n$ 个整数 $a_1,\dots,a_n$;

第三行 $n$ 个整数 $b_1,\dots,b_n$;

第四行 $n$ 个整数 $c_1,\dots,c_n$;

接下来 $m$ 行,每行两个整数 $l,r$ 表示一次查询。

【输出格式】

对于 $m\le 10^5$ 的情况:共 $m$ 行,每行一个整数,表示对应的答案,答案对 $2^{32}$ 取模后输出。

对于 $m>10^5$ 的情况,输出一个答案,表示所有询问的答案(对 $2^{32}$ 取模后)的异或和,

【样例输入】

5 3
3 3 1 1 1
2 1 3 2 2
4 5 3 4 4
1 2
2 5
4 5

【样例输出】

48
63
24

【数据规模与约定】

特殊性质:保证 $a_i,c_i$ 均随机生成,$b_i=1$。
对于所有的数据,满足 $n\le 5\times 10^5,m\leq 5\times 10^6,1\le a_i,b_i,c_i\le n,1\le l\le r\le n$。

推荐使用如下的读入方式以优化常数:

const int MAXSIZE=(1<<25);
char buf[1<<25],*p1,*p2;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,MAXSIZE,stdin),p1==p2)?EOF:*p1++)
inline int read(){
	int x=0,f=1;char ch=gc();
	while(!isdigit(ch)){if(ch=='-')f=-1;ch=gc();}
	while(isdigit(ch))x=(x<<3)+(x<<1)+ch-48,ch=gc();
	return x*f;
}

调用函数即可返回一个整型数字。

大样例,第一个大样例具有特殊性质,其他大样例均无特殊性质。

【来源】

luogu P9335。