![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
jackzhan01
jackzhan
展开
-
luogu_2341 tarjan图论
传送门https://www.luogu.org/problemnew/show/P2341思路先缩点(tarjan版子)只能有一个强联通分量的出度为0#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>原创 2018-10-31 10:30:08 · 132 阅读 · 0 评论 -
Luogu P2812 校园网络(强连通分量)
Luogu P2812 校园网络几所不同的学校希望在一个有向图网络上共享一个软件,共有n所学校(n<=10000)已知他们实现设计好的网络共m条线路,为了保证高速,网络是单向的。现在请你告诉他们至少选几所学校作为共享软件的母机,能使每所学校都可以用上。再告诉他们至少要添加几条线路能使任意一所学校作为母机都可以使别的学校使用上软件。思路第一问就是跑tarjan,然后答案就是强连通分...原创 2019-07-18 14:46:57 · 129 阅读 · 0 评论 -
LCA 最近公共祖先
LCA原创 2019-07-18 16:41:04 · 95 阅读 · 0 评论 -
最短路算法
floyd,dijkstra,spfa(SLF),etx...原创 2018-10-31 11:39:18 · 163 阅读 · 0 评论 -
树形dp入门
1. dp求树的重心POJ16552. 树的直径转载 2019-07-22 07:31:40 · 100 阅读 · 0 评论 -
P2573 [SCOI2012]滑雪-最小生成树
建图;分层的概念;最小生成树原创 2019-08-10 13:53:50 · 161 阅读 · 0 评论 -
P3178 [HAOI2015]树上操作-树链剖分
有一棵点数为 N 的树,以点 1 为根,且树点有权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的点权和。这个题比较简单,操作3的根是固定的容易写错的地方,一个是树上的点x,要在线段树里一定是dfn[x]#include<iostr...原创 2019-08-10 19:32:12 · 130 阅读 · 0 评论 -
最短路习题
有限制最短路(枚举+最短路)分层图最短路原创 2019-08-13 08:35:54 · 638 阅读 · 0 评论 -
最大独立集
最大独立集原创 2019-09-23 20:08:57 · 1581 阅读 · 0 评论 -
noip2012 疫情控制
二分答案+dfs原创 2019-10-03 20:57:52 · 274 阅读 · 0 评论 -
网络流学习笔记
目录1最大流最小割基本概念1) 如何求最大流https://www.luogu.org/problemnew/show/P3376dinic 算法主要思路dfsint dfs(int u,int dist)// 目前流量{ if(u==t||!dist) return dist;// 到达汇点或者已经没有流量 int res=0; for(int i=head[u...原创 2019-01-30 07:12:10 · 131 阅读 · 0 评论 -
二分图总结
二分图整理原创 2019-01-29 11:30:02 · 153 阅读 · 0 评论 -
10.18二中校内T3图论+线段树+网络流(??)
#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt;#include&amp;amp;amp;lt;algorithm&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstring&amp;amp;amp原创 2018-10-31 09:46:56 · 135 阅读 · 0 评论 -
清北test2+cf547D 点转成边建图
传送门https://www.luogu.org/problemnew/show/CF547D重点!!!!!!!!!!!!dfs过程中,遍历时必须要加取地址符号,这样可以实时的删去边表里的边,防止多次访问超时(有vis数组也不行,因为还会进到循环里判断)!!!!思路点(x,y)可以转化为点x和点y连一条边,这样now边(x,y)表示past点,now点表示past一横行或一竖列...原创 2018-11-01 13:48:54 · 143 阅读 · 0 评论 -
10.24 test2 T2图论+裴蜀定理
#include#include#include#include#includeusing namespace std;const int M=1e6+100;const int N=1e5+100;struct node{int v,nxt;int w;}edge[M];int head[N],cnt;void add(int u,int v,int w){cnt...原创 2018-10-31 09:46:07 · 153 阅读 · 0 评论 -
清北test2 T3树上dp或递推
思路要求到一个点距离为奇数的所有节点的距离和及偶数(记为ansodd[i]和anseven[i])那么我们直接求出所有的ans如何??先dfs o(n)求出节点1的ansodd和anseven。(同时维护一个sizodd及sizeven表示i点子树内到他距离为奇数的个数)。然后我们发现不需要对每个点都o(n)跑一边DFS,我们发现一个节点的ans可以有他的父亲转移过来。通过讨论...原创 2018-11-01 15:27:39 · 98 阅读 · 0 评论 -
11.3清北集训_独立集和覆盖集dpT3
Graphsolution首先把图用拓扑排序转换成与之对应的序列发现独立集就是在序列上的上升子序列发现覆盖集实际就是任意一个没有选入子序列的元素都必须与一个在子序列的元素组成逆序对把两个集结合起来:发现选出的子序列可以把原序列切成若干块,对于区间(i,j),(i,j)中的所有元素中>=a[i]的min若大于a[j],这个子序列便合法第4点非常重要!!!这样我们就可以dp了...原创 2018-11-03 14:08:54 · 152 阅读 · 0 评论 -
11.3清北集训最短路奇偶拆点
solution显然假如询问u->v,w为奇数,如果u->v的奇数最短路<=w,那么这组询问一定是yes,偶数与之相同所以我们只要求出任意u->v的奇数偶数最短路即可如何??我们考虑u->v的一条边我们把它拆成u->v+n和u+n->v的两条边u到v的最短路就拆成了u->v(偶数)和u->v+n(奇数)两种.code#i...原创 2018-11-03 16:12:19 · 509 阅读 · 0 评论 -
CF507E_双关键字最短路
题目http://codeforces.com/contest/507/problem/Ehttps://www.luogu.org/problemnew/show/CF507E题目大意solution首先我们令最短路长度为d,在最短路上的损坏的边为b,所有边中未损坏的为f那么我们就是要求 b+f−(d−b) b+f-(d-b)b+f−(d−b)等价于2b+f−d 2b+f-d 2...原创 2018-11-04 22:44:25 · 230 阅读 · 0 评论 -
luogu1983_车站分级_图论
solution#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<cmath>#include<cstdlib>#include<ctime&原创 2018-11-08 18:13:11 · 82 阅读 · 0 评论 -
tarjan(有向图&点双&边双)
强连通分量(有向图)求法:tarjan例题https://www.luogu.org/problemnew/show/P2863https://www.luogu.org/problemnew/show/P2341Description我们已知n对夫妻的婚姻状况,称第i对夫妻的男方为Bi,女方为Gi。若某男Bi与某女Gj曾经交往过(无论是大学,高中,亦或是幼儿园阶段,i≠j),则当某...原创 2019-01-31 20:59:41 · 363 阅读 · 0 评论 -
P1073 最优贸易
DAG dp原创 2019-10-05 17:53:18 · 145 阅读 · 0 评论