栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

G.ACM is all you need (map 遍历,分类讨论,思维)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

G.ACM is all you need (map 遍历,分类讨论,思维)

G.ACM is all you need 分析:

map 遍历,分类讨论,思维

若对 a [ i ] ( 1 < i < n ) a[i](1

a [ i ] < a [ i + 1 ]   a n d   a [ i ] < a [ i − 1 ] a[i]a[i] a [ i + 1 ]   a n d   a [ i ] > a [ i − 1 ] a[i]>a[i+1] and a[i]>a[i-1] a[i]>a[i+1] and a[i]>a[i−1]:当b大于某个值时,会对 ans 贡献1 a [ i ] > a [ i + 1 ]   a n d   a [ i ] < a [ i − 1 ] a[i]>a[i+1] and a[i]a[i]>a[i+1] and a[i] a [ i − 1 ] a[i]a[i-1] a[i]a[i−1]:同(3)

最后的贡献,就是“某个值”从小到大,贡献值的前缀和

每种情况的“某个值”,可以通过画图或举例来求出具体如何表示

#include 
using namespace std;

const int N=1e5+5;
int a[N];
void solve()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    int ans=0;
    map  mp;
    for(int i=2;ia[i+1] && a[i]>a[i-1])
        {
            int mx=max(a[i+1],a[i-1]);
            mp[(a[i]+mx)/2+1]--;
        }
        else if(a[i]>a[i+1] && a[i]a[i-1] && a[i]>t;
    while(t--) solve();
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/717309.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号