【复习】深夜复习傻逼图论的玩意

不写点东西明天要挂啊

不想看傻逼的直接跳到后面

 

0.存储结构(你妈写这个凑字数呀

邻接表&插入边

struct edge{
    int to,next,v;
}e[M];
int cnt,last[N];
void insert(int a,int b,int c){
    e[++cnt]=(edge){b,last[a],c};last[a]=cnt;
}
void link(int a,int b,int c){
    insert(a,b,c);insert(b,a,c);
}

1.闭着眼睛摸了个spfa哈哈哈哈哈哈哈哈

bool inq[N];int dis[N];
void spfa(int s,int t){
    queue<int>q;
    inq[s]=true;
    FOR0(i,N)dis[i]=inf;
    dis[s]=0;q.push(s);
    while(!q.empty()){
        int c=q.front();q.pop();
        for(int i=last[c];i;i=e[i].next){
            int v=e[i].to;
            if(dis[v]>dis[c]+e[i].v){
                dis[v]=dis[c]+e[i].v;
                if(!inq[v]){
                    q.push(v);
                    inq[v]=true;
                }
            }
        }
        inq[c]=false;
    }
}

2.Tarjan · 逢写必错· 缩环算法

int scc,ind;
int bel[N],ins[N],low[N],dfn[N];
stack<int>s;
void tarjan(int v){
    low[v]=dfn[v]=++ind;
    s.push(v);ins[v]=true;
    for(int i=last[v];i;i=e[i].next){
        if(!dfn[e[i].to])
            tarjan(e[i].to),low[v]=min(low[v],low[e[i].to]);
        else    if(ins[e[i].to])
            low[v]=min(low[v],dfn[e[i].to]);
    }
    int now=-1;
    if(dfn[x]==low[x]){
        ++scc;
        while(now!=x&&!s.empty()){
            int t=s.top();s.pop();
            ins[t]=false;
            bel[t]=scc;
        }
    }
}

如果有人发现这个也是错的明天加餐

这里是弹射标记

首先讨论一点和树有关的玩意

3.

LCA:基于倍增的:。。。

基于rmq的 :两点的LCA是两点dfs序间深度最浅的节点。。那么我们只要用最值查询的算法就好了

【感觉自己智商降低了

 

4.矩阵树定理

无向图生成树计数

预备知识:高斯消元,行列式

我们构建一个度数矩阵D  D(i,j)在i!=j时等于i的度数,否则等于0

构造一个邻接矩阵A

 

然后这个图的基尔霍夫(这个名字?)矩阵是G,G(i,j)=D(i,j)-A(i,j)

然后我们计算这个行列式的值,就是这个图的生成树个数了

明天啥时候再写呢。。

时间: 2024-10-23 15:49:23

【复习】深夜复习傻逼图论的玩意的相关文章

HDU 4948 (傻比图论)

Kingdom Problem Description Teacher Mai has a kingdom consisting of n cities. He has planned the transportation of the kingdom. Every pair of cities has exactly a one-way road. He wants develop this kingdom from one city to one city. Teacher Mai now

[bzoj4644]经典傻逼题

话说这道题是因为ditoly大佬无聊时候想做sb题搜索了一下"傻逼题"搜到的,刚好今天学习了线性基,在ditoly大佬的帮助下做完啦. ------------------------------------------------------------------------------ 题意:定义割操作是对于原图的一个点集,所有恰好只有一个点在集合中的边的集合,它的权值是所有边的异或和. 给定n个点,m个操作,每次向其中两个点中添加一条边,然后求一个最大的割的权值.n<=5

eclipse真是最纯粹的傻逼。

eclipse真是最纯粹的傻逼.... 重要的事情说三遍. 从我开始用eclipse开始,各种版本,从C/C++版本到JAVA版本,从linux版本到Windows版本,遇到无数bug,这不知道为何有一帮脑子吃屎的人吹嘘这货好用(傻逼遇傻逼). 这货就是纯粹傻逼写的给傻逼用的. 典型bug诸如代码莫名报错,clean都不行,refresh后却一切正常. 工程用的用的就打不开了 makefile文件不更新导致编译出错. 新建文件finsh后毫无反应(没有文件产生)…… 创建工程finish没反应,

BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】

2222: [Cqoi2006]猜数游戏 Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 604  Solved: 260[Submit][Status][Discuss] Description 佳佳和明明玩一个猜数游戏.佳佳想一个1~n之间的整数,明明每次可以随便猜一个数.从第二次猜测起,佳佳告诉明明本次猜测的数和上次猜测的数相比哪个更接近.B表示本次猜测的数更接近,W表示上次猜测的数更接近.如果两次猜测的接近程度一样,则既可回答B也可回答W.

记录自己的傻逼的错误:找不到或无法加载主类

记录自己的傻逼错误 自己用eclipse写的java代码,突然想在黑窗口看一下垃圾回收的日志,发现总是提示"错误:找不到或无法加载主类"这个错误,以前每天写代码都是好的,用eclipse运行也一直是好的,怎么今天在黑窗口就不行了呢,百度了下,说是JDK的环境配置有问题,然后我就仔细的检查了好几遍,依然无法解决,百度上面普遍这个问题的答案都是JDK的环境没有配置好,没有其他的,然后我就自己在Notepad++上面写一个小程序,发现可以运行也,为什么不能运行eclipse写出来的代码呢??

我是个很牛逼地活在别人眼里的傻逼

| 忏悔录 | 现在的我 沉心静气,尝试专一 曾经的我 自卑自负,大落大起 生活教会我沉稳与内敛 而背后的老师 是不堪回首的自己 我不会避讳什么,或使用小A.B兄一类的笔名自欺欺人,这就是我的故事,也许,也是众多和我一样自卑与自负一体,但已开始悔悟的朋友们的故事--这篇文章,除了自省,还想给有像我一样经历得同仁说一句:乖,醒一醒.--Emerson 1401354763 偶然看到一篇名为<我曾是个很牛逼地活在别人眼里的傻逼>的微信.冲着标题进去,想看看这位到底是怎么牛逼又怎么傻逼.看完,懵逼-

cdoj 93 King&#39;s Sanctuary 傻逼几何题

King's Sanctuary Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/93 Description The king found his adherents were building four sanctuaries for him. He is interested about the positions of the sanctuaries and want

讲真,微信讨红包测友谊的人都是傻逼

讲真,微信讨红包测友谊的人都是傻逼,你来我往的情感礼节本来是一种美好祝福的传达,现在却变得让自愿变成了强迫. 翻看你收到的微信,一定有这样的:"用红包测试咱们的关系,看感情的时候到了".下面罗列了不同关系之间的金额,最高的老公老婆(13.14元),最少的则是同事(1元). 收到这类信息,你一定会忍不住爆上两句粗口,要不就是无语到瞬间没了脾气,心中恼怒为什么自己会有这样的好友. 对于这类张口闭口伸手要钱的人,我们通常会给他一个响亮的名字--"微信乞丐". 节假日算是微

傻逼Eclipse笔记

Eclipse 这么傻逼的工具,还有人用,真是奇了怪了. Invalid project description 我想打开SVN 的代码 ,别让我拷到别的地方,怎么破? 正确答案是: 删除 Eclipse  的 WorkSpace 的配置文件. 它可能在:  C:\Users\用户名\workspace 下.