我是若智

· · 个人记录

观前须知

我是账号 Skadi_H 的新号主,是原号主在一个QQ频道里认识的一个同样在江苏的初二OIer(原号主现在退役了,现在正在QQ频道里唱歌撩妹

简介

这是一个突然想到的idea

谨以此文,记录我从2024.1.23开始的若智行为

大家自己找,我纯纯就是脑子有冰

2024.1.23

void dfs(int u,int fa=0){
    st[u][0]=fa;
    dep[u]=dep[fa]=1;//
    sum[u]=sum[fa]+getval(u);
    for(int i=1;i<=__lg(dep[u]);i++)
        st[u][i]=st[st[u][i-1]][i-1];
    for(int i=rhead[u];i;i=re[i].nxt){
        int v=re[i].v;
        if(v==fa) continue;
        dfs(v,u);
    }
}

2024.1.24

void tarjan(int u){
    dfn[u]=low[u]=++idx;s.push(u);
    for(int i=head[u];i;i=e[i].nxt){
        int v=e[i].v;
        if(!dfn[v]){
            tarjan(v);low[u]=min(low[u],low[v]);
            if(low[v]==dfn[u]){
                cnt++;
                int lin=0;
                while(s.size()&&lin!=v){
                    lin=s.top();s.pop();
                    raddedge(lin,cnt);raddedge(cnt,lin);
                }
            }
            raddedge(u,cnt);raddedge(cnt,u); //
        }
        else low[u]=min(low[u],dfn[v]);
    }
}

2024.2.2

bool query(int x,int y,int z){
    cout<<"? "<<x<<" "<<y<<" "<<x<<endl;//
    string s;
    cin>>s;
    return (s[0]=='Y');
} 

2024.2.13

for(int i=1;i<=n;i++){
    for(int j=0;j<13;j++){
        if(!(id[i]>>j))//
            a[i]|=d[j];
    }
}

2024.2.16

//treap
void pushup(int idx){
    t[idx].siz=t[t[idx].lson].siz+t[t[idx].rson].siz;//
}
...
int merge(int x,int y){
    if(!x||!y)
        return x+y;
    if(t[x].rnd<t[y].rnd){
        if(t[x].tag)
            pushdown(x);
        t[x].rson=merge(t[x].rson,y);
        pushup(x);
        return x;
    }
    else{
        if(t[y].tag)
            pushdown(y);
        t[y].lson=merge(t[y].lson,x);//
        pushup(y);
        return y;
    }
}

2024.2.25

for(int i=1;i<=n;i++){
    while(h<t&&getk(q[h],q[h+1])<=s[i]){
        h++;
    }
    dp[i]=dppre[q[h]]+s[q[h]]*(s[i]-s[q[h]]);
    fro[i][o]=q[h];
    while(h<t&&getk(q[t-1],q[t])>=getk(q[t],q[i])){//
        t--;
    }
    q[++t]=i;
}
long long ksm(long long a,long long b){
    long long res=1;
    while(b){
        if(b&1)
            res=res*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return res;
}
...
for(int i=0;i<=k;i++){
    ans=(ans+fac[i]+stl2[k][i]%mod+C(n,i)%mod+ksm(m,n-i)%mod)%mod;//
}

2024.3.8

for(int i=1;i<=n;i++){
    smu[i]+=-smu[i-1];//
}

2024.3.10

for(int l=1,r;l<=min(n,m);l=r+1){
    r=min(n/(n/l),m/(m/l));
    ans=(ans+(n/l)*(m/l)%mod*(((s[r]-s[l-1])%mod+mod)%mod)%mod);//
}

2024.3.12

void query(long long l,long long r){
    ...
        for(int i=0;i<=2;i++)
            for(int j=0;j<=2;j++)
                for(int k=0;k<=2;k++)
                    for(int l=0;l<=2;l++){//
                        if(j&&j==k) continue;
                        dp[l][r][i][l]=(dp[l][r][i][l]+dp[l][p[l]][i][j]*dp[p[l]+1][r][k][l])%mod;
                    }
    ...
}

2024.4.2

void getroot(int u,int fa){
    siz[u]=1;
    int maxson=0;
    for(int i=head[u];i;i=e[i].nxt){
        int v=e[i].v;
        if(v==fa||del[v]) continue;
        getroot(v,u);
        siz[u]+=siz[v];
        maxson=max(maxson,siz[v]);
    }
    maxson=max(maxson,sum-siz[v]);//
    if(maxson<maxsiz)
        maxsiz=maxson,root=u;
}
...
void calc(int u){
    del[u]=vis[0]=1;
    vector<int>().swap(lin);
    for(int i=head[u];i;i=e[i].nxt){
        int v=e[i].v;
        if(del[v]) continue;
        vector<int>().swap(dis);
        d[v]=e[i].w;
        //
        for(int j=0;j<dis.size();j++)
            for(int k=1;k<=q;k++)
                if(da[k]>=dis[j])
                    da[k]|=vis[da[k]-dis[j]];
        for(int j=0;j<dis.size();j++){
            lin.push_back(dis[j]);
            vis[dis[j]]=1;
        }
    }
    for(int i=0;i<lin.size();i++)
        vis[lin[i]]=0;
}

2024.4.5

dis.push_abck(d[u]);//

2024.5.29

void play(int st,int bk){
    res=0;
    int R=min(bk*B,n);
    int l=R+1,r=R;
    top=0;
    for(int i=st;b[q[i].l]==bk;i++){//
    ......

2024.6.28

for(int i=1;i<=n;i++){
    for(int j=1;j<=a[i]/j;j++){
        if(a[i]%j==0)//
            q[j].push_back(i);
        if(j*j!=a[i])
            q[a[i]/j].push_back(i);
    }
}
//这一段是将数组a当中
//所有满足a_i%j==0的i推到vector v[j]里

2024.7.10

const double eps=-1e9;//