首页 > 其他分享 >The 2024 ICPC Asia East Continent Online Contest (I)——F. Make Max

The 2024 ICPC Asia East Continent Online Contest (I)——F. Make Max

时间:2024-09-19 14:02:10浏览次数:17  
标签:Contest int Max Make stk tt ll

https://qoj.ac/contest/1794/problem/9313

#include<bits/stdc++.h>
#define x first
#define y second
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pii;
const int N=2e5+10,mod=1e9+7;
ll n,m,q;
int a[N],stk[N],tt;
int l[N],r[N];
ll res;
void build()//构建笛卡尔树
{
    memset(l,0,sizeof l);
    memset(r,0,sizeof r);
    tt=0;
    int top=tt;
    for(int i=1;i<=n;i++)
    {
        while(tt>0&&a[stk[tt-1]]<a[i]) tt--;
        if(tt) r[stk[tt-1]]=i;
        if(tt!=top) l[i]=stk[tt];
        stk[tt++]=i;
        top=tt;
    }
}
void dfs(int u,int dep)//每个数加上左边和右边比它小的数(连续且之间不能用大于等于它的数)
{
    res+=dep;
    if(l[u]) dfs(l[u],dep+(a[l[u]]!=a[u]));
    if(r[u]) dfs(r[u],dep+(a[r[u]]!=a[u]));
}
void solve()
{
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];

    build();

    res=0;
    dfs(stk[0],0);
    cout<<res<<endl;
}
int main()
{
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

    int _;
    cin>>_;
    while(_--)
    {
        solve();
    }

    return 0;
}

标签:Contest,int,Max,Make,stk,tt,ll
From: https://www.cnblogs.com/djhjojo/p/18420453

相关文章

  • CMake入门
    CMake应用:基础篇什么是CMake?CMake是一个开源、跨平台的编译、测试和打包工具,它使用比较简单的语言描述编译、安装的过程,输出Makefile或者project文件,再去执行构建。在使用IDE开发软件的过程中,代码的编译和构建一般是使用IDE自带的编译工具和环境进行编译,开发者参与的并不算......
  • 3DMAX动画渲染一百帧云渲染解决方案!
    ​随着数字媒体快速发展,3D动画以其逼真的视觉效果和动态表现力,成为众多行业的首选。然而,高质量的3D动画渲染往往需要大量的计算资源。对于3DMAX动画渲染的一百帧,该如何的通过云渲染技术高效处理呢,我们一起来简单看看。3DMAX动画渲染一百帧有多少秒?在3DMAX动画渲染中,当我们提到......
  • The 2024 CCPC Online Contest
    https://codeforces.com/gym/105336B-军训II排序后肯定是最优解,方案数就是能排成有序序列的个数#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;usingi128=__int128;#defineinti64usingvi=vector<int>;using......
  • maxcompute使用篇
    文章目录maxcompute使用篇1.mongoDB与maxcompute进行数据同步1.1基本类型的数据1.2部分复杂类型的数据2.maxcompute中复杂数据类型解析2.1get_json_object2.2json_tuple2.3处理json几种失效的情况:2.4STR_TO_MAP、MAP_KEYS2.5regexp_replace2.6FROM_JSON2.7nvl......
  • DELL EMC powermax 系统存储常用命令
    powermax常用命令查看存储阵列信息symcfglist查看存储池使用容量情况symcfg-sidxxxlist-srp-detail-tbCAPACITYFlgUsableAllocatedFreeSubscribedName......
  • 一个cmakelist的例子(自动处理多个proto)
    背景:由于项目需要,把所有的proto文件放在了统一的文件夹中,为了方便更新以及加快编译速度,要把这个proto自动转成.cc.pb.h文件,再编译成so。为此,写了个cmakelist.txt。 主要功能:1)自动遍历指定目录下所有proto文件,调用ptotoc生成.cc文件,如下图:cc文件存放在上一级目录,目录结构类......
  • 编译和链接以及makefile
    编译和链接以及makefile问题引出,为什么我们会忽略编译和链接这个步骤一定都会用到但却很少被重视的步骤——编译和链接,通常这两个步骤被我们的IDE封装的很完美,我们一般都是一件构建。但是一旦遇到错误的时候,尤其是链接相关的错误,很多人就束手无策了,所以今天就跟大家一......