题意
给定数组 $a$ 满足 $a_i\in \{0,1,…9\}$,求有多少个区间 $[l,r]$ 满足 $\sum_{i=l}^r=r-l+1$。
$\operatorname{Sol}$
考场上的奇怪想法qwq。
把式子变形一下,变成
先枚举一下 $r$,把式子的右边丢进一个桶里。再开始枚举 $l$,为了保证区间合法,每次统计前先去除 $l-1$ 处的贡献,再统计答案,实现见代码。
$\operatorname{Code}$
1 |
|
给定数组 $a$ 满足 $a_i\in \{0,1,…9\}$,求有多少个区间 $[l,r]$ 满足 $\sum_{i=l}^r=r-l+1$。
考场上的奇怪想法qwq。
把式子变形一下,变成
先枚举一下 $r$,把式子的右边丢进一个桶里。再开始枚举 $l$,为了保证区间合法,每次统计前先去除 $l-1$ 处的贡献,再统计答案,实现见代码。
1 | #include <bits/stdc++.h> |