一个问题
  • 板块灌水区
  • 楼主WaterSky
  • 当前回复16
  • 已保存回复16
  • 发布时间2024/8/24 16:20
  • 上次更新2024/8/24 19:16:41
查看原帖
一个问题
708963
WaterSky楼主2024/8/24 16:20

给一个长度为n的正整数数组 aa,一个长度为 mm 的查询数组 qq,qi=(val,minlen,maxlen)q_i=(val,minlen,maxlen)。请你按输入顺序处理这 mm 次查询,对于第 ii 次查询 qi=(val,minlen,maxlen)q_i=(\text{val,minlen,maxlen});请你输出有多少个 aa 的子数组 ss 满足 min(s)≥valmin(s)≥val 且 ss 的长度在 minlenminlen 和 maxlenmaxlen 之间。

第一行输入一个正整数 nn。

第二行有 nn 个正整数,a1,2,...na_{1,2,...n}

第三行输入一个正整数mm。

接下来 mm 行,每行三个正整数,表示 qiq_i 的三个数,val,minlen,maxlen\text{val,minlen,maxlen}

1≤n,m≤1e51\le n,m\le 1e5

1≤val,ai≤1e91\le \text{val},a_i\le 1e9

1≤minlen≤maxlen≤n1\le \text{minlen}\le \text{maxlen}\le n


这道题我的想法是笛卡尔树+离线操作+单调性。

2024/8/24 16:20
加载中...