大河的序列
题目背景
“唯有龙虎相伴 最是脉脉深情”
题目来源:KingSann
题目描述
大河有一些袜子,但经常十分散乱的堆放着。
有一天龙儿忍不住了,于是将袜子放到了一个序列上(称作袜子序列)。
每个袜子都有一个
d
i
r
t
y
dirty
dirty值,定义袜子序列的
d
i
r
t
y
dirty
dirty值为 $ \max \left( (dirty_{l} \ bitand \ dirty_{l+1} \ bitand \ \cdots \ bitand \ dirty_{r}) + (dirty_{l} \ bitor \ dirty_{l+1} \ bitor \ \cdots \ bitor \ dirty_{r}) \right) $ ,其中 $ dirty_{i} $ 表示 第 $ i $ 只袜子 的 $ dirty $ 值,
b
i
t
a
n
d
bitand
bitand表示按位与(C++中是&
),
b
i
t
o
r
bitor
bitor表示按位或(C++中是|
)。
简而言之,就是找一段连续子序列,使得所有数字的按位与加上按位或最大。
如果这个袜子序列的 d i r t y dirty dirty值达到了某个阈值,那么龙儿会讨厌大河的。
大河当然不希望这样了,于是她想知道这个袜子序列的 d i r t y dirty dirty值是多少。
输入格式
第一行三个整数 $ n,b,p $ ,分别表示数列长度和输出相关的东西
第二行有 $ n $ 个整数,表示这个数列的初始数值
输出格式
设答案为 $ x $ ,你需要输出 $ (x+233)^{b} ,, \text{mod} ,,p $
样例 #1
样例输入 #1
10 1 10000000
7 9 9 4 0 0 8 8 4 7
样例输出 #1
251
提示
$ 1 \le n, p \le 10^{5} $
$ 0 \le b, ditry_{i} \le 10^{7} $
对于测试点 $ 1 $ 和测试点 $ 2 $ 的数据,保证 $ 1 \le n \le 100 $
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容