awert

Posted rilisoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awert相关的知识,希望对你有一定的参考价值。

#include<bits/stdc++.h>
using namespace std;
#define N 4000010
int mn[N],s[N],va[N],bz[N],n,m,mt[N];
#define id(x,y) mt[(x-1)*m+y]
void bd(int o,int l,int r)
    if(l==r)
        mn[o]=va[l];
        s[o]=1;return;
    
    int md=(l+r)/2;
    bd(o*2,l,md);
    bd(o*2+1,md+1,r);
    mn[o]=min(mn[o*2],mn[o*2+1]);
    s[o]=0;
    if(mn[o]==mn[o*2])s[o]+=s[o*2];
    if(mn[o]==mn[o*2+1])s[o]+=s[o*2+1];

void pd(int o)
    bz[o*2]+=bz[o];
    bz[o*2+1]+=bz[o];
    mn[o*2]+=bz[o];
    mn[o*2+1]+=bz[o];
    bz[o]=0;

void mod(int o,int l,int r,int x,int y,int v)
    if(x>y||r<x||y<l)return;
    if(x<=l&&r<=y)
        mn[o]+=v;
        bz[o]+=v;
        return;
    
    int md=(l+r)/2;
    mod(o*2,l,md,x,y,v);
    mod(o*2+1,md+1,r,x,y,v);
    mn[o]=min(mn[o*2],mn[o*2+1]);
    s[o]=0;
    if(mn[o]==mn[o*2])s[o]+=s[o*2];
    if(mn[o]==mn[o*2+1])s[o]+=s[o*2+1];

struct no
    int x,y;
a[N];
int tx[4]=1,0,-1,0,ty[4]=0,-1,0,1;
int in(int x,int y)return x>0&&x<=n&&y>0&&y<=m;
int m1(int x)
    int mn=l+1;
    if(in(tx[0]+a[x].x,ty[0]+a[x].y))
        mn=min(mn,id(tx[0]+a[x].x,ty[0]+a[x].y));
    if(in(tx[1]+a[x].x,ty[1]+a[x].y))
        mn=min(mn,id(tx[1]+a[x].x,ty[1]+a[x].y));
    return mn;

int m2(int x)
    int r1=l+1,r2=l+1;
    for(int i=0;i<4;i++)
        if(in(tx[i]+a[x].x,ty[i]+a[x].y))
            if(id(tx[i]+a[x].x,ty[i]+a[x].y)<r1)
        

int main()
    

 

以上是关于awert的主要内容,如果未能解决你的问题,请参考以下文章