| 比赛场次 | 728 |
|---|---|
| 比赛名称 | 期末考试0 |
| 比赛状态 | 已结束比赛成绩 |
| 开始时间 | 2026-02-07 08:00:00 |
| 结束时间 | 2026-02-07 12:30:00 |
| 开放分组 | 全部用户 |
| 组织者 | RpUtl |
| 注释介绍 | 大概联赛难度,部分分充足,代码好写 |
| 题目名称 | 我能在摸鱼被发现的情况下躲避教练的视奸吗 |
|---|---|
| 输入输出 | shijian.in/out |
| 时间限制 | 3000 ms (3 s) |
| 内存限制 | 512 MiB |
| 测试点数 | 10 简单对比 |
| 用户 | 结果 | 时间 | 内存 | 得分 |
|---|---|---|---|---|
|
|
AAAEEEEEEE | 1.085 s | 7.50 MiB | 30 |
|
|
AAAEEEEEEE | 1.216 s | 11.26 MiB | 30 |
|
|
AAAEEEEEEE | 1.369 s | 12.84 MiB | 30 |
|
|
AAAEEEEEEE | 1.422 s | 4.33 MiB | 30 |
|
|
AAATTTTTTT | 21.833 s | 82.85 MiB | 30 |
|
|
AAATTTTTTT | 21.852 s | 42.29 MiB | 30 |
|
|
AAATTTTTTT | 22.898 s | 5.14 MiB | 30 |
|
|
ATTEEEEEEE | 7.389 s | 3.57 MiB | 10 |
|
|
ATTTTTTTEE | 22.731 s | 37.85 MiB | 10 |
|
|
AWWTTTTTTT | 22.844 s | 5.26 MiB | 10 |
|
|
AWWTTTTTTT | 22.879 s | 5.21 MiB | 10 |
|
|
ATTTTTTTTT | 27.925 s | 5.12 MiB | 10 |
|
|
ATTTTTTTTT | 27.927 s | 12.77 MiB | 10 |
|
|
ATTTTTTTTT | 27.928 s | 12.54 MiB | 10 |
|
|
ATTTTTTTTT | 27.931 s | 12.48 MiB | 10 |
|
|
ATTTTTTTTT | 27.951 s | 5.16 MiB | 10 |
|
|
ATTTTTTTTT | 27.989 s | 4.78 MiB | 10 |
|
|
WEEEEEEEEE | 1.381 s | 3.38 MiB | 0 |
题目背景不根据真实经历改编。
你正在摸鱼看魔圆,这时 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;
}
调用函数即可返回一个整型数字。
大样例,第一个大样例具有特殊性质,其他大样例均无特殊性质。