有趣的区间

网友投稿 472 2022-10-18

有趣的区间

有趣的区间

namespace std;#define int long longconst double eps = 1e-6;const int N = 5e5 + 10;int n;int a[N];void solve() { cin >> n; for (int i =0; i< n ;i ++) { cin >> a[i]; a[i] %= 2; } int ans = (n + 1) * n / 2; int c = 0; for (int i = 0; i< n; i ++) { if (a[i]) { ans -= c * (c + 1) / 2; c = 0; } else c ++; } ans -= c * (c + 1) / 2; cout << ans <

容斥 总共的区间数为n*(n + 1) / 2

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:AcWing 4211. 序列重排
下一篇:RIFE- Web框架扩展模块
相关文章

 发表评论

暂时没有评论,来抢沙发吧~