这里主要记录一些做过的但没必要单独发一篇博客的题。。

[LOJ3083][GXOI/GZOI2019]与或和:单调栈

本质就是一个条形图矩形计数,每一行用单调栈跑一下就好了。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

核心代码:

int solve(int *ht){
    int ret=0;top=0;
    rin(i,1,n+1){
        while(top&&ht[sta[top]]>ht[i]){
            int l=sta[top-1]+1,r=i-1,wd=r-l+1;
            ret=(ret+1ll*(wd+1)*wd/2*(ht[sta[top]]-std::max(ht[i],ht[sta[top-1]])))%MOD;
            --top;
        }
        sta[++top]=i;
    }
    return ret;
}

[LOJ2537][PKUWC2018]Minimax:期望DP+线段树合并

离散化后权值为下标,线段树合并的时候顺便记一个概率的前缀和就好了。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄