#E. [CZOJ 一周一测 R8 E] rainboy

    传统题 500~5000ms 1024MiB

[CZOJ 一周一测 R8 E] rainboy

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

cyx 仰慕 rainboy 跌宕起伏的 rating 变化线。

题目描述

cyx 最近打了 nn 场 czoj,其 performance 分别为 a1,a2,,ana_1,a_2,\dots,a_n。为了学习 rainboy 上上下下的 rating 变化风格,他规定一次 performance 是优美的当且仅当这一次和相邻的两次 performance(记为 ai1,ai,ai+1a_{i-1},a_i,a_{i+1})满足峰形或者谷形。形式化地,(ai1ai)(ai+1ai)>0(a_{i-1}-a_i)(a_{i+1}-a_i)>0。注意,第一次和最后一次的 performance 永远不是优美的。

cyx 作为 czoj 管理员可以决定将一些比赛记录隐藏,剩下一个非空子序列使得序列中“优美的”performance 个数恰好在区间 [l,r][l,r] 之间,且相邻两次 performance 不相同。cyx 想知道有多少本质不同的子序列满足条件。

再次提醒,要求相邻两次 performance 不相同

答案需要对 99399\bf{3} 244 8244\ \bf{8}5353 取模。

输入格式

本题单个测试点内有多组数据。

第一行一个整数 TT,表示数据组数。

接下来的 TT 组数据,每组第一行三个非负整数 n,l,rn,l,r,第二行 nn 个正整数 aia_i 表示 performance 序列。

输出格式

对于每组测试数据,输出一个取模过的整数表示答案。

样例

4
3 0 1
1 2 1
4 0 0
1 4 2 3
6 1 1
1 3 4 2 5 3
10 1 3
5 2 8 8 4 2 2 9 1 4
5
11
20
151

对于第一组测试数据,可以保留子序列 {1}\{1\}{2}\{2\}{1,2}\{1,2\}{2,1}\{2,1\}。这些子序列都不存在优美的 performance。也可以保留子序列 {1,2,1}\{1,2,1\},恰有 11 个 performance (a2=2a_2=2)是优美的,也满足条件。

数据规模与约定

本题采用捆绑测试。各子任务时限不同。

  • Subtask 0(3 pts):时限 2s\text{2s}aia_i 单调递增。
  • Subtask 1(5 pts):时限 0.5s\text{0.5s}n15n \leq 15
  • Subtask 2(25 pts):时限 0.5s\text{0.5s}n300n \leq 300
  • Subtask 3(19 pts):时限 5s\text{5s}aia_i 互不相同。
  • Subtask 4(9 pts):时限 5s\text{5s},存在 1pn1\le p\le n 使得 a1<a2<<ap1<an<an1<<apa_1<a_2<\dots<a_{p-1}<a_n<a_{n-1}<\dots<a_p
  • Subtask 5(39 pts):时限 5s\text{5s},无特殊限制。

对于 100%100\% 的数据,保证 2n50002 \leq n \leq 50000lrmin(n2,100)0 \leq l\leq r\leq \min(n-2,100)1ai1091\le a_i\le10^91T51\le T\le5

注意:时限很大不意味着可以为所欲为!其实是出题人丑陋的【数据删除】算法常数过大,但是又想放掉。 如果还觉得卡常,那么你有什么实力啊,菜就多练改进算法吧。

[CZR-008] CZOJ Weekly Exercise Round 8

未参加
状态
已结束
规则
IOI
题目
6
开始于
2024-2-17 17:00
结束于
2024-2-17 22:00
持续时间
5 小时
主持人
参赛人数
20