随笔分类 -  图论

摘要:题目链接 考虑每条非树边的取值,显然不能小于等于该边与树边形成的环中的最大值(当然这条非树边也可以不存在),所以每条非树边的取值范围就是 \(S - max(w) + 1\) (\(+1\)的原因是该边可能不存在)。 暴力枚举肯定会超时,考虑优化。 发现 \(kruskal\) 算法获得最小生成树的 阅读全文
posted @ 2023-09-24 15:45 With_penguin 阅读(32) 评论(0) 推荐(0)
摘要:魔改最小斯坦纳树的题。。。 首先我们发现颜色太多了非常不好处理,一种套路是随机把这些颜色映射到 \(k\) 种颜色,随机很多次来保证正确性。最后的正确率大概是: \[ 1-(1-\frac{k!}{k^k})^C \] 其中 \(C\) 为随机次数。 好了现在我们只有 \(k\le 7\) 种颜色了 阅读全文
posted @ 2020-07-15 23:24 With_penguin 阅读(97) 评论(0) 推荐(0)
摘要:首先最小斯坦纳树求出连接所有重要情报站的最小代价。 然后状压每个频道做一遍子集DP就完事了。 代码: #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<queue> #include< 阅读全文
posted @ 2020-07-13 00:06 With_penguin 阅读(102) 评论(0) 推荐(0)
摘要:给定一个包含 \(n\) 个点和 \(m\) 条边的无向联通图 \(G=(V,E)\)。 再给定包含 \(k\) 个结点的点集 \(S\),选出 \(G\) 的子图 \(G'=(V',E')\),使得: \(S\subseteq V'\); \(G'\) 为连通图; \(E'\) 中所有边的边权和最 阅读全文
posted @ 2020-07-12 22:02 With_penguin 阅读(384) 评论(0) 推荐(0)
摘要:代码: #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<queue> using namespace std; const int N=109,INF=1<<30; int n,m, 阅读全文
posted @ 2020-07-12 21:59 With_penguin 阅读(175) 评论(0) 推荐(0)
摘要:生成树顾名思义是对原图提取一些边来生成一棵树。 例题: CF840B Leha and another game about graph 题解 阅读全文
posted @ 2020-06-27 15:20 With_penguin 阅读(313) 评论(0) 推荐(0)
摘要:首先给出一个结论:给定一个连通图,要求构造一个给定每个点度数奇偶性的图(不要求连通,但新图的边集是原图边集的子集)。若奇点个数为奇数则无解;反之则一定有解。 无解非常好理解:因为图的所有点的总的度数一定为偶数,所以奇点个数显然不可能为奇数。 下面将通过构造的方式证明后者一定有解。 如何同时改变两个点 阅读全文
posted @ 2020-06-27 13:30 With_penguin 阅读(165) 评论(0) 推荐(0)
摘要:代码: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<stack> #include<queue> using namespace std; const int N=500009; 阅读全文
posted @ 2020-05-09 00:12 With_penguin 阅读(111) 评论(0) 推荐(0)
摘要:强连通分量多用于缩点和2 SAT。 例题: 1. "P2272 [ZJOI2007]最大半连通子图" "题解" 1. "luogu P3627 [APIO2009]抢掠计划" "题解" 阅读全文
posted @ 2020-05-08 20:45 With_penguin 阅读(128) 评论(0) 推荐(0)
摘要:代码: 阅读全文
posted @ 2020-05-08 20:43 With_penguin 阅读(121) 评论(0) 推荐(0)
摘要:代码: 阅读全文
posted @ 2020-05-06 21:47 With_penguin 阅读(132) 评论(0) 推荐(0)
摘要:一个图上的DP啊,~~怪我太年轻又没看出来~~考试的时候直接给它爆0了? 设$f[i][j][k]$表示从$i$点到$j$经过$k$条边。由于走过的边要求权值升序,不妨换个思路(不直接枚举状态),考虑直接把所有边从小到大排序然后直接枚举每条边,然后DP,注意因为要求的是经过 _不多于_ $c$条边的 阅读全文
posted @ 2020-04-23 06:16 With_penguin 阅读(89) 评论(0) 推荐(0)
摘要:最短路虽然模板简单,但变化无穷,有很多值得推敲的好题 1. "luogu P3953" "题解" 2. FZOJ 4106 哈 "题解" 3. "luogu P3238 [HNOI2014]道路堵塞" 阅读全文
posted @ 2020-04-15 07:27 With_penguin 阅读(88) 评论(0) 推荐(0)
摘要:这题是在图上跑DP并借助了一些最短路的信息。 $30pts:$ 最短路计数,略 $70pts:$ 考虑没有$0$边时,设$dis[i]$表示从$1$到$i$的最短距离,$f[i][j]$表示$1$到第$i$个点距离为$dis[i]+j$的方案数,由于没有$0$边,所以发现把$dis[i]$排序以后$ 阅读全文
posted @ 2020-04-15 07:23 With_penguin 阅读(105) 评论(0) 推荐(0)