本题数据范围为 n, q ≤ 100000,O(n2) 的复杂度并过不去。
考虑这种区间问题一般都能用前缀和或者差分来解决。回忆求区间和,我们可以用前缀和 + 差分的方式来解决。
那么这种区间计数的问题,我们可以用前缀和 + 差分的方式来解决吗?
小 A 正在分析一段由整数表示的音符序列,长度为 n。她定义序列的一个“片段”为从序列中截取连续一段得到的非空子序列。现在有 q 次查询,每次查询给定左端点 L、右端点 R 以及一个目标音符 k。对于每次查询,请你计算在 aL 到 aR 这段序列中,有多少个不同的片段至少出现一次音符 k。
序列长度 n 与询问次数 q 均不超过 105,序列中的整数绝对值不超过 109。
第一行包含一个整数 n (1≤n≤105),表示序列的长度。 第二行包含 n 个整数,依次表示序列的每个音符,整数的绝对值均不超过 109,相邻整数之间用空格分隔。 第三行包含一个整数 q (1≤q≤105),表示询问的次数。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册