My Contest: playing with 毛玉

My Contest: playing with 毛玉

problem A:等差之和

Time limit:\(2s\)

Memery limit:\(512MB\)

Backdrop

⑨在寺子屋学习了等差数列的求和公式,于是她得意地向路过的毛玉挑战

但是毛玉答上了所有问题,⑨很不开心,于是她说:

我有一个全为0的数列,每次给其中一段加上一个等差数列

你能说出序列中任意一段数的和吗?

然而毛玉很快便答了上来。

⑨找来大妖精验证,毛玉的回答居然都是对的!

这是怎么做到的呢?

Description

初始有一个长度为 \(n\) 的全为 \(0\) 的序列 \(A\)

总共有 \(m\) 个操作,操作分为两种

操作 \(1\): 给出 \(l,r,a,b\) 对于所有 \(i \in [l,r]\),令 \(A_i\ +=\ a+b \times (i-l)\)

操作 \(2\):给出 \(l,r\)\(\sum_{i=l}^{r}{A_i}\)(对 \(1000000007\) 取模)

Input

第一行给出两个整数 \(n,m\),分别表示序列长度和操作个数

接下来 \(m\) 行,每行给出一个操作

对于每个操作,先给出 \(opt=1或2\) 表示操作种类;

\(opt=1\) 时表示该次操作为操作 \(1\),接下来给出 \(4\) 个整数 \(l,r,a,b\)

\(opt=2\) 时表示该次操作为操作 \(2\),接下来给出 \(2\) 个整数 \(l,r\)

Output

对于每个操作 \(2\),输出一行一个整数表示答案(对 \(1000000007\) 取模)

Sample

input1:

3 3
1 1 3 1 1
2 1 2
2 1 3

output1:

3
6

input2:

7 10
1 6 7 1 1
2 7 7
1 3 3 3 1
2 1 6
1 3 3 2 2
2 2 3
1 5 6 2 3
1 5 5 1 2
1 5 6 3 2
2 7 7

output2:

2
4
5
2

更多内容见样例下载

Hint

对于 \(30\%\) 的数据:保证 \(n \leq 5000\)

对于另外 \(10\%\) 的数据:保证每次修改及询问操作的 \(l=1,r=n\) (即每次对整个序列操作)

对于又另外 \(10\%\) 的数据:保证每次修改操作的 \(b=0\)

对于所有数据:保证 \(n,m\leq 10^6\ ,\ a,b \leq 10^9\)

problem B:等差之积

Time limit:\(2s\)

Memery limit:\(512MB\)

Backdrop

假如是等差数列求和的话连毛玉也能做到!

但如果是求积呢?(毛玉放弃思考...)

来证明你比毛玉聪明吧!

Description

给定质数 \(p\),有 \(q\) 次询问,每次给定 \(a\)(初始项),\(b\)(公差),\(n\) ,求 \(\big(\ \prod_{i=0}^{n}{\ (a + i \times b)\ } \ \big) \mod p\)

为方便,保证每次 \(a,b < p\)

Input

第一行一两个整数 \(p\ ,\ q\) 分别表示模数、询问个数(保证 \(p\) 为质数)

接下来 \(q\) 行,每行三个整数 \(a\ ,b\ ,n\)

Output

对每个询问输出一行一个整数,表示该次询问答案

Sample

input1:

13 3
11 3 4
2 2 5
7 11 4

output1:

12
8
12

input2:

19 6
13 12 2
2 10 9
17 1 14
11 5 9
15 6 16
18 9 16

output2:

17
5
0
7
0
2

更多内容见样例下载

Hint

对于 \(15\%\) 的数据,保证 \(n \leq 20\)

对于另外 \(20\%\) 的数据,保证 \(b = 1\)

对于又另外 \(5\%\) 的数据,保证 \(n \geq p\)

对于所有数据,保证 \(p\) 为质数且 \(2 \leq p \leq 2\times 10^7\ ;\ q \leq 5 \times 10^5\ ;\ \ 1 \leq a,b < p\ ;\ n \leq 10^9\)

problem C:读取信息J(dqxxj)

Time limit:\(1s\)

Memery limit:\(512MB\)

Backdrop

毛玉来和你玩游戏啦!<( ̄︶ ̄)>

毛玉有一个整数序列让你猜,不猜对不会放你走哦!(๑•̀ㅂ•́)و✧

毛玉会给先出一些序列的描述,再问一些关于序列的问题,答对就算你赢!

但毛玉十分迷糊,有时的描述会自相矛盾,这时就要由你来提醒啦!⊙▽⊙

Description

有一个长度为 \(n\) 的整数序列 \(A\)(下标从 \(0\) 开始)

数据会先给出 \(m\) 个描述,每个描述会给出序列的互不相同的一些下标 \(p_i\ (i=1,2,...,k)\),以及这些下标对应的序列的数的异或和,即:\({\bigoplus}_{i=1}^{k}{A_{p_i} }\)

接着,数据会给出 \(q\) 个问题,每个问题会给出序列的互不相同的一些下标 \(p_i\ (i=1,2,...,k)\),询问这些下标对应的序列的数的异或和

如果不存在一个序列能符合描述,输出"stupid description"(不含引号)

否则,对于每个询问输出回答。如果所给描述无法唯一确定某个问题答案,则对该次询问回答"not sure"(不含引号)

Input

第一行三个整数 \(n,m,q\)

接下来 \(m\) 行,每行先给出一个整数 \(k\),接着给出 \(k\) 个互不相同的序列下标 \(p_i\ (i=1,2,...,k)\),最后给出一个整数 \(S\) 表示 \({\bigoplus}_{i=1}^{k}{A_{p_i} }\)

接下来 \(q\) 行,每行先给出一个整数 \(k\),接着给出 \(k\) 个互不相同的序列下标 \(p_i\ (i=1,2,...,k)\)

Output

如果不存在一个序列能符合描述,输出一行"stupid description"(不含引号)

否则,对于每个询问输出一行回答。如果所给描述无法唯一确定某个问题答案,则对该次询问回答"not sure"(不含引号)

Sample

input1:

6 4 4
4 0 1 3 4 8
1 3 7
4 0 1 2 3 11
3 1 4 5 4
1 3 
3 0 1 2 
4 0 1 2 3 
3 0 1 4 

output1:

7
12
11
15

input2:

8 4 8
2 1 4 8
4 1 2 4 5 12
7 0 1 2 4 5 6 7 7
6 0 1 2 3 5 7 10
5 0 2 5 6 7 
3 1 3 6 
4 0 3 4 7 
5 0 2 5 6 7 
2 1 4 
3 1 4 7 
5 0 3 4 6 7 
5 0 2 5 6 7 

output2:

15
5
6
15
8
not sure
not sure
15

更多内容见样例下载

Hint

本题数据打包

\(subtask1(10\%):\) 保证 \(n \leq 12 \ ,\ m \leq 12\ ,\ q \leq 10^3\)

\(subtask2(20\%):\) 保证 \(n \leq 12 \ ,\ q \leq 10^3\)

\(subtask3(20\%):\) 保证所有描述集合的值 \([P]=0\)

↑即是说: \(\bigoplus_{i=1}^{k} A_{p_i}=0\)

\(subtask4(10\%):\) 保证 \(A\)\(01\) 串(\([P] \leq 1\)),一定存在序列 \(A\) 满足所有描述,每次问题答案唯一确定

\(subtask5(40\%):\) 无特殊限制

对于所有数据,满足 \(n \leq 160\ ,\ m \leq 10^4\ ,\ q \leq 10^4\ ,\ [P] \leq 10^9\)

保证原序列中数 \(A_i \leq 10^9\)

problem D:不会输的游戏

Time limit:\(1s\)

Memery limit:\(512MB\)

Backdrop

因为未知的原因,毛玉合体了!

毛玉的智商得到了大幅度提升!

也就是说,毛玉和你一样一定能找到最优策略!

于是毛玉要和你玩游戏!

毛玉很自信,所以你是先手!

然而,你拥有「游戏不会输程度的能力」!

具体的,如果你没有必胜策略,你就可以重置这局游戏

Description

数据给出若干棵有根树

你和毛玉轮流选择一条未被任意一方选过的边(你先手)

要求每次选边后,对每棵树存在一条以根为端点的简单路径,使该树中选择过的边能被该路径包含

无边可选者输

如果你必输(先手必输),输出 "Restart"(不含引号)重置这局游戏

否则输出 "Play now"(不含引号)开始游戏

Input

第一行一个整数 \(n\)

接下来一行 \(n\) 个整数表示每个节点的父节点(为 \(0\) 则表示该节点为一棵树的树根)

Output

一行一个字符串 "Restart" 或 "Play now"(不含引号)

Sample

input1:

3
0 1 1

output1:

Play now

input2:

5 
0 1 1 0 4

output2:

Restart

更多内容见样例下载

Hint

本题数据打包(P.S.本来是T组数据,为了大家考虑,改成每五个数据点打一个包)

对于 \(30\%\) 的数据,保证 \(n \leq 5000\)

对于另外 \(20\%\) 的数据,保证只有一棵树

对于所有数据,保证 \(n \leq 3\times 10^6\)

posted @ 2021-10-21 22:07  沼中蒻杨  阅读(48)  评论(0编辑  收藏  举报