图论
文章平均质量分 61
live4m
老菜逼了
展开
-
网络流6-10
6.最长不下降子序列问题思路:第一问:直接LIS就能求出来最大长度ma第二问:因为每个数只能用一次,把一个点拆成入点和出点,入点连出点,容量为1,这样限制使用次数。源点连接每个dp[i]=1 的点的入点(即序列起点),dp[i]=ma的点的出点连接汇点(即序列终点)然后如果对于a[i]<=a[j]且dp[i]+1==dp[j]的两个数,i的出点连接j的入点,容量为1源点连接...原创 2020-01-24 00:28:44 · 346 阅读 · 0 评论 -
uva1151 Buy or Build (MST+二进制枚举)
题意:n个点,和n个点的坐标,需要求n个点的最小生成树,但是有q个套餐,每个套餐有费用cost,购买套餐可以使得套餐内的点直接连通,输出最小生成树的边权和数据范围:n<=1e3q<=8思路:因为q很小,所以一个方法是直接二进制枚举选取的套餐,最大也就28(256)枚举选中的套餐,然后再跑kruskal把剩下的点连起来求边权和,但是因为边有n*(n+1)/2个,最大5...原创 2019-12-05 21:59:39 · 130 阅读 · 0 评论 -
uva12219 Common Subexpression Elimination (表达式树,树hash+map)
Common Subexpression EliminationLet the set Σ consist of all words composed of 1-4 lower case letters, such as the words “a”, “b”, “f”,“aa”, “fun” and “kvqf”. Consider expressions according to the g...原创 2019-12-05 20:20:20 · 273 阅读 · 0 评论 -
CodeForces 274 B.Zero Tree(树形dp)
B.Zero TreeA tree is a graph with n vertices and exactly n - 1 edges; this graph should meet the following condition: there exists exactly one shortest (by number of edges) path between any pair of i...原创 2019-11-30 19:25:01 · 704 阅读 · 0 评论 -
CodeForces 461 B.Appleman and Tree(树形dp)
B.Appleman and TreeAppleman has a tree with n vertices. Some of the vertices (at least one) are colored black and other vertices are colored white.Consider a set consisting of k (0 ≤ k < n) edges...原创 2019-11-30 19:16:01 · 194 阅读 · 0 评论 -
网络流1-5
1.飞行员配对方案思路:匈牙利好写一点,而且自带记录匹配对象。但是既然是网络流题目就用网络流写吧。建图:源点连接左半部,汇点连接右半部,中间二分图建图,边权全为1,跑最大流。找匹配对象:利用前向星的成对变换遍历所有边和其反向边,如果当前遍历到的边不是与源汇点连接的边,则为二分图中间边,如果反向边边权不为0,即为匹配边(只有有流的边反向边不为0),该边的两端点就是一对答案。code:...原创 2019-12-06 18:38:15 · 182 阅读 · 0 评论 -
CodeForces 1095 F.Make It Connected (贪心+最小生成树)
F.Make It ConnectedYou are given an undirected graph consisting of n vertices. A number is written on each vertex; the number on vertex i is ai. Initially there are no edges in the graph.You may add...原创 2019-11-25 22:28:36 · 280 阅读 · 0 评论 -
CodeForces 920 E.Connected Components? (set+bfs)
题意:给n和m,n表示n个点然后给m个二元组,每个二元组ab表示ab之间没有边,其他都有边求图中连通块的数量和每个连桶块的大小,将大小从小到大输出即求补图的连通块数量思路:计算方法和cf1243d一样:cf1243d题解code:#include<bits/stdc++.h>using namespace std;const int maxm=2e5+5;set&...原创 2019-11-22 21:25:04 · 183 阅读 · 0 评论 -
P2420 让我们异或吧 (树上路径异或和)
题目描述异或是一种神奇的运算,大部分人把它总结成不进位加法.在生活中…xor运算也很常见。比如,对于一个问题的回答,是为1,否为0.那么:(A是否是男生 )xor( B是否是男生)=A和B是否能够成为情侣好了,现在我们来制造和处理一些复杂的情况。比如我们将给出一颗树,它很高兴自己有N个结点。树的每条边上有一个权值。我们要进行M次询问,对于每次询问,我们想知道某两点之间的路径上所有边权的异或...原创 2019-11-21 19:27:08 · 859 阅读 · 0 评论 -
CodeForces 1144 F.Graph Without Long Directed Paths (二分图染色)
F.Graph Without Long Directed PathsYou are given a connected undirected graph consisting of n vertices and m edges. There are no self-loops or multiple edges in the given graph.You have to direct it...原创 2019-11-20 22:57:19 · 255 阅读 · 0 评论 -
CodeForces 246 E.Blood Cousins Return (dsu on tree+set去重)
题意:给n个点的树,每个点有一个名字,不同的点名字可能相同m次查询,给出x k,求以x为根的子树,深度为d[x]+k的点中有多少种不同的名字思路:和cf 208e差不多离线储存询问,问题就变成离线子树问题,用dsu on tree解决,询问储存的方式是:二元组存储问题id和x的层数,每当统计完根为fa的子树之后,遍历以fa为根的询问,然后更新答案,具体看代码cal函数计算的是以当前...原创 2019-11-20 21:20:05 · 161 阅读 · 0 评论 -
CodeForces 208 E.Blood Cousins (树上倍增+dsu on tree)
题意:给n个点的树,定义从x点向上走k步到达的节点为x的 k层祖先。m次查询,给出x k,问有多少个点与x具有相同的 k层祖先。思路:先求出x的k层祖先fa,题目转化为求以fa为根的子树下深度与x相同的节点个数,减去x本身的一个就是答案了x的k层祖先可以用树上倍增解决离线储存询问,问题就变成离线子树问题,用dsu on tree解决,询问储存的方式是:二元组存储问题id和x的层数,...原创 2019-11-20 20:12:18 · 171 阅读 · 0 评论 -
Comet OJ-Contest #13 C2.「佛御石之钵 -不碎的意志-」(困难版) (并查集)
题意:给出一个 n 行 m 列的 01 矩阵。有 q 次操作,每次操作选取一个子矩阵,将子矩阵变为全 1,每次操作后输出当前连通块个数数据范围:n,m<=1e3q<=3e4思路:code:...原创 2019-11-19 15:12:56 · 126 阅读 · 0 评论 -
hdu6031 Innumerable Ancestors (二分+树上倍增)
题意n个点的树,m个询问,每次询问给出两个集合a和b,找到a的一个元素x,b的一个元素y,使得lca(x,y)深度最大输出lca(x,y)的最大深度思路:深度满足二分性质:深度大的如果满足,则深度小的也一定满足二分深度,然后对于集合a和集合b的每个点,求他们的深度为mid的祖先,如果深度为mid的祖先有交集说明可以找到x,y,lca(x,y)等于mid求祖先用树上倍增code:...原创 2019-11-19 13:33:09 · 176 阅读 · 0 评论 -
hdu6026 Deleting Edges (转化为最短路计数)
Problem DescriptionLittle Q is crazy about graph theory, and now he creates a game about graphs and trees.There is a bi-directional graph with n nodes, labeled from 0 to n−1. Every edge has its leng...原创 2019-11-18 23:52:07 · 122 阅读 · 0 评论 -
hdu6228 Tree (图论思维题)
Problem DescriptionConsider a un-rooted tree T which is not the biological significance of tree or plant, but a tree as an undirected graph in graph theory with n nodes, labelled from 1 to n. If you ...原创 2019-11-18 18:26:16 · 185 阅读 · 0 评论 -
最小瓶颈路
最小瓶颈路问题:在一张无向图中,询问一个点对(u,v),找出从u到v的一条简单路径,使路径上所有边中最大值最小。单次查询:即题目只需要查询一对st到ed例题:P1396 营救题意:给n个点m条边的无向图给st和ed,找一条从st至ed的路径,使得经过的边权最大值最小。输出路径的最大边权思路:1.二分最大值,check为判断只走小于等于mid的边能否从st到达ed2.kruk...原创 2019-11-18 00:10:11 · 621 阅读 · 0 评论 -
CodeForces 743 D.Chloe and pleasant prizes(树形dp)
D.Chloe and pleasant prizesGenerous sponsors of the olympiad in which Chloe and Vladik took part allowed all the participants to choose a prize for them on their own. Christmas is coming, so sponsors...原创 2019-11-17 10:54:00 · 210 阅读 · 0 评论 -
CodeForces 600 E.Lomsat gelral (dsu on tree)
E.Lomsat gelralYou are given a rooted tree with root in vertex 1. Each vertex is coloured in some colour.Let’s call colour c dominating in the subtree of vertex v if there are no other colours that ...原创 2019-11-12 13:15:06 · 330 阅读 · 0 评论 -
CodeForces 721 C.Journey (dfs+dp)
C.JourneyRecently Irina arrived to one of the most famous cities of Berland — the Berlatov city. There are n showplaces in the city, numbered from 1 to n, and some of them are connected by one-direct...原创 2019-11-08 22:28:49 · 289 阅读 · 0 评论 -
CodeForces296 D.Greg and Graph(逆向floyd插点)
D. Greg and GraphGreg has a weighed directed graph, consisting of n vertices. In this graph any pair of distinct vertices has an edge between them in both directions. Greg loves playing with the grap...原创 2019-11-07 23:33:27 · 357 阅读 · 0 评论 -
CodeForces1243 D.0-1 MST (补图的连通块数量,set+bfs)
D.0-1 MSTUjan has a lot of useless stuff in his drawers, a considerable part of which are his math notebooks: it is time to sort them out. This time he found an old dusty graph theory notebook with a...原创 2019-11-07 21:27:59 · 424 阅读 · 0 评论 -
CodeForces686 D.Kay and Snowflake (每棵子树的重心)
D.Kay and SnowflakeAfter the piece of a devilish mirror hit the Kay’s eye, he is no longer interested in the beauty of the roses. Now he likes to watch snowflakes.Once upon a time, he found a huge s...原创 2019-11-05 16:05:17 · 338 阅读 · 0 评论 -
CodeForces1245 D.Shichikuji and Power Grid (加点+最小生成树)
D.Shichikuji and Power GridShichikuji is the new resident deity of the South Black Snail Temple. Her first job is as follows:There are n new cities located in Prefecture X. Cities are numbered from ...原创 2019-11-04 19:36:46 · 469 阅读 · 0 评论 -
CodeForces601 A.The Two Routes (最短路)
A.The Two RoutesIn Absurdistan, there are n towns (numbered 1 through n) and m bidirectional railways. There is also an absurdly simple road network — for each pair of different towns x and y, there ...原创 2019-10-29 11:59:09 · 268 阅读 · 0 评论 -
CodeForces510 C.Fox And Names (拓扑排序)
C.Fox And NamesFox Ciel is going to publish a paper on FOCS (Foxes Operated Computer Systems, pronounce: “Fox”). She heard a rumor: the authors list on the paper is always sorted in the lexicographic...原创 2019-10-28 23:44:03 · 199 阅读 · 0 评论 -
无向图最小割/全局最小割
无向图的割:无向图,去掉一个边集可以使图变成两个连通分量,则这个边集就是割集无向图最小割:边权和最小的割集。Stoer-Wagner算法:1.开始设最小割min=inf,任选一个起点P2.类似prim从点p开始扩展出“最大生成树”,记录最后扩展的顶点和最后扩展的边3.计算最后扩展到的顶点的切割值(即与此顶点相连的所有边权和),若比min小则更新min4.合并最后扩展的那条边的两个端...原创 2019-10-19 19:05:15 · 834 阅读 · 0 评论 -
最大权闭合子图
有向图闭合图:闭合图内任意点的任意后继都在闭合图中。要创造一个闭合子图,如果选择了一个点,就必须把这个点的所有后继都选上。可以用于表示事物间依赖关系:如果一个事件要发生,它需要的所有前提也必须都要发生。最大权闭合子图:点权之和最大的闭合子图建图:源点->原图正点权事件,容量为点权原图负权点事件->汇点,容量为点权绝对值原图不变,边权修改为inf闭合图的权为正权点总...原创 2019-10-18 12:41:17 · 374 阅读 · 0 评论 -
hdu6582 Path (最短路+最小割)
Problem DescriptionYears later, Jerry fell in love with a girl, and he often walks for a long time to pay visits to her. But, because he spends too much time with his girlfriend, Tom feels neglected ...原创 2019-10-16 23:25:57 · 217 阅读 · 0 评论 -
最短哈密顿回路
题意:给定无向图求边权和最小的哈密顿环(字典序尽量小)输出路径哈密顿通路:经过图中每个节点一次且仅一次的通路 哈密顿回路:起点和终点相同的哈密顿通路(哈密顿环)思路:即旅行商问题任取一个点作为起点,dfs优先走编号小的点,搜完n个点后判断终点和起点是否相连据说还可以状压dp、模拟退火code(dfs)://https://www.luogu.org/problem/U7...原创 2019-10-15 14:32:40 · 2817 阅读 · 0 评论 -
poj3686 The Windy's (转化为指派问题后KM或MCMF)
问题描述文德玩具厂是世界著名的玩具厂,拥有 M个 世界一流的玩具生产车间。今年经理收到了N个玩具订单。经理知道每个订单在不同的车间需要不同的时间。更准确地说,如果玩具是在第j个车间生产的,第i个订单将需要Zij个小时。此外,每个订单的工作必须完全在同一个车间完成。一个车间要完成前一个订单才能转到下一个订单。这种转换不需要任何时间。经理想要最小化N个订单的平均完成时间。你能帮助他吗?输入输入...原创 2019-10-15 12:55:55 · 218 阅读 · 0 评论 -
有向环最小权值覆盖(MCMF/KM)
哈密顿通路经过图(有向图或无向图)中所有顶点一次且仅一次的通路称为哈密顿通路。经过图中所有顶点一次且仅一次的回路称为哈密顿回路。hdu1853 Cyclic Tour题意:给出n个点m条单向边边以及经过每条边的费用,让你求出走过一个哈密顿环(除起点外,每个点只能走一次)的最小费用。思路:如果题目有重边而且很多的话,可以先开二维数组对重边取min,最后再建图解法:将每个点拆成两个点...原创 2019-10-15 12:11:46 · 262 阅读 · 0 评论 -
最大团(最大完全子图)
完全图:任意两点都恰有一条边相连的图(任意两点都相邻)完全子图:满足任意两点都恰有一条边相连的子图,也叫团最大团:就是最大完全子图(最大指的是点数最多)常用结论:1、最大团点的数量=补图中最大独立集点的数量2、二分图中,最大独立集点的数量+最小覆盖点的数量=整个图点的数量3、二分图中,最小覆盖点的数量=最大匹配的数量4、图的染色问题中,最少需要的颜色的数量=最大团点的数量p...原创 2019-10-13 16:15:07 · 8457 阅读 · 0 评论 -
LCA模板
题意:给一棵n个节点的树,n-1条带权的边,m个询问,每次询问给出a,b,输出a到b的最短距离分析:LCA模板倍增(bfs):#include<cstdio>#include<cstring>#include<iostream>#include<queue>#include<cmath>#include<algo...原创 2019-08-27 15:08:33 · 218 阅读 · 0 评论 -
bzoj2588 Spoj 10628. Count on a tree (主席树+LCA)
问题描述给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。Input第一行两个整数N,M。第二行有N个整数,其中第i个整数表示点i的权值。后面N-1行每行两个整数(x,y),表示点x到点y有一条边。最后M行每行两个整数(u,v,k)...原创 2019-08-29 15:38:38 · 189 阅读 · 0 评论 -
CodeForces - 1196 F.K-th Path (floyd)
题意:给一张n个点m条边的无向图,求所有点对的最短路径第k 小,且到v最短路径与v到u路径只算一次,(n,m<=2e5,k<=400)分析:把所有边按边权从小到大排序,然后取前k条跑floyd,将floyd跑出的所有边排序答案就是求出得第k条边的长度题目说k最大所以点最多800,完全吃得消只取前k条是因为第k条之后的路径不可能是是所有最短路径的第k小,所以直接不管了由于...原创 2019-08-30 20:32:46 · 264 阅读 · 0 评论 -
hdu6705 path (优先队列bfs)
Problem DescriptionYou have a directed weighted graph with n vertexes and m edges. The value of a path is the sum of the weight of the edges you passed. Note that you can pass any edge any times and ...原创 2019-09-01 22:56:59 · 141 阅读 · 0 评论 -
P3128 Max Flow (LCA+树上差分)
题意:给定一棵有N个点的树,所有节点的权值都为0。有K次操作,每次指定两个点s,t,将s到t路径上所有点的权值都加一。请输出K次操作完毕后权值最大的那个点的权值。Sample Input5 103 41 54 25 45 45 43 54 34 31 33 55 41 53 4Sample Output9分析:假设p[x]是点x的权值u,v是要修改的...原创 2019-09-02 15:52:59 · 160 阅读 · 0 评论 -
hdu6736 Forest Program (推导+求环的边数+快速幂)
Problem DescriptionThe kingdom of Z is fighting against desertification these years since there are plenty of deserts in its wide and huge territory. The deserts are too arid to have rainfall or huma...原创 2019-10-12 22:52:23 · 903 阅读 · 1 评论 -
P1967 货车运输 (kruskal重构树模板题 或 最大生成树+LCA)
题目描述AA国有nn座城市,编号从 11到nn,城市之间有 mm 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 qq 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入格式第一行有两个用一个空格隔开的整数n,mn,m,表示 AA 国有nn 座城市和 mm 条道路。接下来 mm行每行33个整数 x, y, zx,y,z,每两个整数之间用一个...原创 2019-09-30 15:15:55 · 244 阅读 · 0 评论