Advertisement

Mind components

阅读量:

编程竞赛题目解析

在这里插入图片描述

如图所示,这是一种区间扫描的方式。通过观察可以发现,当扫描的区间未包含a_ia_{i+1}时,该区间将产生相应的贡献。接下来需要确定的是,满足这一条件的区间总数是多少。

复制代码
    #include <bits/stdc++.h>
    using namespace std;
    const int N=2e5+7,M=20;
    const int mod=998244353 ;
    typedef long long ll;
    int a[N];
    int main()
    {
    int n; scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",a+i);
    ll res=0;
    for(int i=1;i<=n;i++){
        if(a[i]>a[i-1]) res+=1LL*(a[i]-a[i-1])*(n-a[i]+1);
        else if(a[i]<a[i-1])res+=1LL*(a[

全部评论 (0)

还没有任何评论哟~