zoukankan      html  css  js  c++  java
  • 工具小仓

    工具

    1.函数绘图

    2.图片格式在线转换

    3.随机东方壁纸API

    摸鱼

    1.小黑屋

    2.进化

    3.名字竞技场

    模板

    (1.Tarjan)&(LCA)

    #include<bits/stdc++.h>
    #define N 500010
    using namespace std;
    
    struct NODE{
        int next,to,lca;
    };
    NODE edge[N<<1],qedge[N<<1];
    int n,m,p,x,y;
    int num_edge,num_qedge,head[N],qhead[N],father[N],visit[N];
    
    inline void add_edge(int,int);
    inline void add_qedge(int,int);
    int Find(int);
    void DFS(int);
    
    int main()
    {
        scanf("%d%d%d",&n,&m,&p);
        for(int i=1;i<n;++i)
        {
            scanf("%d%d",&x,&y);
            add_edge(x,y);
            add_edge(y,x);
        }
        for(int i=1;i<=m;++i)
        {
            scanf("%d%d",&x,&y);
            add_qedge(x,y);
            add_qedge(y,x);
        }
        DFS(p);
        for(int i=1;i<=m;i++)
            printf("%d
    ",qedge[i*2].lca);
        return 0;
    }
    
    inline void add_edge(int from,int to)
    {
        edge[++num_edge].next=head[from];
        edge[num_edge].to=to;
        head[from]=num_edge;
    }
    
    inline void add_qedge(int from,int to)
    {
        qedge[++num_qedge].next=qhead[from];
        qedge[num_qedge].to=to;
        qhead[from]=num_qedge;
    }
    
    int Find(int z)
    {
        if(father[z]!=z)
            father[z]=Find(father[z]);
        return father[z];
    }
    
    void DFS(int x)
    {
        father[x]=x;
        visit[x]=1;
        for(int k=head[x];k;k=edge[k].next)
            if(!visit[edge[k].to])
    	{
                DFS(edge[k].to);
                father[edge[k].to]=x;
            }
        for(int k=qhead[x];k;k=qedge[k].next)
            if(visit[qedge[k].to])
    	{
                qedge[k].lca=Find(qedge[k].to);
    	    (k%2)?qedge[k+1].lca=qedge[k].lca:qedge[k-1].lca=qedge[k].lca;
            }
    }
    

    2.快速幂

  • 相关阅读:
    AGC007题解
    博弈论学习笔记
    ZROI2019 提高十连测
    男人八题2019
    LOJ 2840「JOISC 2018 Day 4」糖
    CF671D Roads in Yusland
    网络流套路小结
    BZOJ 3729 GTY的游戏
    AGC036C GP 2
    BZOJ 5046 分糖果游戏
  • 原文地址:https://www.cnblogs.com/Dr-Albert-Wensley/p/URL.html
Copyright © 2011-2022 走看看