图论
Apel_dey
喜欢闲的没事做数学的咸鱼ACMer
展开
-
CodeForces 620E New Year Tree (DFS序+线段树)
做法: 因为只有60种颜色,所以可以状压颜色,这样的话就可以把区间颜色合并的操作看为“或”,线段树随便维护一下就可以了。 WA了无数发才想起来 ”1LL << 一个东西“ 和 “1 << 一个long long 的东西” 是不一样的(打多校的时候还WA过一发)……贼气. 代码: #include<bits/stdc++.h> using name...原创 2018-08-30 02:59:09 · 229 阅读 · 0 评论 -
hdu6370 werewolf 缩点+搜索
把图画一画可以发现只能判断铁狼,没有确定的村民,铁狼会存在于一个环中,这个环里面如果只有一个人被认为是狼,那么他就是铁狼,可以很容易看出这是一个基环内向树的样子,所以就会发现,如果还有人说这个铁狼是村民的话,那说这个狼是村民的人就是狼。于是就可以想到有些环是没有用的环,如果有一个环上的边都是村民边,那这个环没有卵用,直接缩掉。至于如何搜答案,可以很快想到先确定环上的狼,然后向外扩展,于是就可以反向...原创 2018-08-10 15:56:33 · 325 阅读 · 1 评论 -
POJ-3694 Network (桥)
题意是给一个无向图,q个询问,每次询问加上一条边之后剩余的桥的数量。 首先就是缩成一个只有桥的图,此时就会缩成一颗树,这时减少的桥就是询问的两点到他们的lca的距离,由于询问只有1000,所以LCA写暴力就可以实现。 #include<cstdio> #include<iostream> #include<algorithm> #include<c原创 2018-07-13 12:40:36 · 431 阅读 · 0 评论 -
POJ-3281Dining 最大流
这题是挑战程序设计竞赛的例题,因为师兄讲了所以就补了 做法: 建图的方法是:加一个源点和汇点,讲饮料或食物分别连向源点、汇点,对于每一头牛,把它和它喜欢的食物和饮料连边,由于每一头牛在考虑的时候都是只能被一个边流入和流出(因为每一头牛都是只能吃一个食物喝一个饮料),所以把牛拆点(假如拆成牛1,牛2),就在牛1和牛2之间连一条边。然后源点到汇点跑一遍dinic就可以了。 代码: #p...原创 2018-05-02 23:45:00 · 237 阅读 · 0 评论 -
Havel-Hakimi定理
可图:一个非负整数组成的序列如果是某个无向图的度序列,则该序列是可图的。 度序列:Sequence Degree,若把图G所有顶点的度数排成一个序列,责成该序列为图G的一个序列。该序列可以是非递增序的、可以是非递减序列、可以是任意无序的。 由非负整数组成的非增序列s(度序列):d1,d2,…,dn(n>=2,d1>=1)是可图的,当且仅当序列: s1:d2 – 1,d3 – 1,…,d...原创 2019-05-06 17:54:12 · 266 阅读 · 0 评论