zoukankan      html  css  js  c++  java
  • 模板

    需要注意:

      strlen() 时间很快然而不是o(1),不要偷懒!

      树状数组要判0

      n=100000 质数个数9592 u[i]!=0个数60794  每个数的u[i]非0个数 778581   约数个数1166750

      n=1000000 质数个数78498 u[i]!=0个数607926 每个数的u[i]非0个数:9185685  约数个数13970034

      数据要保证全部读进来,不要中途break或者return

    模板,bitset,sap,zkw,fft,ntt,点分支,斯坦纳树

    二分图概念整理 

    tarjan

    双联通

    void tarjan(int x)
    {
        dfn[x]=low[x]=++tsum;
        int son=0;
        repedge(i,x) {
            if (use[i]) continue;
            use[i]=use[i^1]=1;
            int too=e[i].t;
            if (!dfn[too]) {
                tarjan(too);
                low[x]=min(low[x],low[too]);
                if (dfn[x]<low[too]) {
                    ans++;
                    cur[i]=cur[i^1]=1;
                }
            }
            else
                low[x]=min(low[x],dfn[too]);
        }
    }

    强连通

    void tarjan(int x)
    {
        dfn[x]=low[x]=++tsum;
        vis[x]=1;
        pp.push(x);
        repedge(i,x) {
            int too=e[i].t;
            if (!dfn[too]) {
                tarjan(too);
                low[x]=low[too]<low[x]?low[too]:low[x];
            }
            else
                if (vis[too] && dfn[too]<low[x]) low[x]=dfn[too];
        }
        if (low[x]==dfn[x]) {
            ++tot;
            numi[tot]=numo[tot]=0;
            int j;
            do {
                j=pp.top();pp.pop();
                vis[j]=0;
                scc[j]=tot;
            }while (j!=x);
        }
    }
    View Code

     dfn也可以作为深度的标志,进行lca时的次序判断

    二分图模型

    p.s  n==1注意 二分图判断用for+bfs

    黑白染色:1*2棋盘型,树结构。

    【无向图的最大独立数】: 从V个顶点中选出k个顶,使得这k个顶互不相邻。 那么最大的k就是这个图的最大独立数。
    【无向图的最大团】: 从V个顶点选出k个顶,使得这k个顶构成一个完全图,即该子图任意两个顶都有直接的边。
    【最小路径覆盖(原图不一定是二分图,但必须是有向图,拆点构造二分图)】:在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联。最小路径覆盖 = |V| - 最大匹配数
    【最小边覆盖(原图是二分图)】:在图中找一些边,使之覆盖了图中所有顶点,且任何一个顶点有且只有一条边与之关联。最小边覆盖 = 最大独立集 = |V| - 最大匹配数
    【最小顶点覆盖】:用最少的点(左右两边集合的点)让每条边都至少和其中一个点关联。

     白书中的输出方案

  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/Macaulish/p/7404197.html
Copyright © 2011-2022 走看看