Loading

随笔分类 -  图论

1
摘要:Codeforces Round #720 (Div. 2) D.Nastia Plays with a tree 树上最小链覆盖记录路径 题意 给出一颗树,定义bamboos为每个点度数不超过2的树,每次操作可以在树上删除一条边,添加一条边,问最少操作次数把原来的树变为一个bamboo \[ 2 阅读全文
posted @ 2021-05-09 21:58 MQFLLY 阅读(147) 评论(0) 推荐(0)
摘要:LGR-084 C Reboot from Blue 贪心 DAG上DP最短路 题意 数轴上有$n$个加油站,第$i$个位于$x_i$,油价为每升$c_i$元 起点坐标$s$,终点$t$,车油箱一开始是空的,且保证起点处有加油站,假设箱子容量无限大,一升油可以走距离1 求出最小花费 \[ 1 \le 阅读全文
posted @ 2021-04-12 16:04 MQFLLY 阅读(90) 评论(0) 推荐(0)
摘要:Orientation ARC111 -D 强连通分量 题意 给定$N$个点$M$条边的有向图,现在重新设置边的方向,给出点$a_i,b_i$来分配边的方向。 给出$c_i$表示$i$点可以被多少点访问到。 \[ 1\leq N \leq 100\\ 0\leq M \leq \frac{N(N-1 阅读全文
posted @ 2021-02-05 10:24 MQFLLY 阅读(106) 评论(0) 推荐(0)
摘要:Reversible Cards ARC111 -B 思维,图论 题意 有$N$张卡片,卡片正反面有颜色,正面颜色$a_i$,反面颜色$b_i$ 。问如何一次只能一面朝上摆放,如何拜访能让颜色种类最多,输出最多的种类数 \[ 1\leq N \leq 200000 \\ 1 \leq a_i,b_i 阅读全文
posted @ 2021-02-05 10:07 MQFLLY 阅读(209) 评论(0) 推荐(0)
摘要:Beautiful Graph CodeForces - 1093D 二分图判定 简单组合 题意 给定一张$n$个点$m$条边的无向图,可以给每个点赋值$1,2,3$。 要求赋值以后每条边的两个端点权值和是奇数,问有多少种赋值方法,答案对$998244353$取模 \[ 1\leq t \leq 3 阅读全文
posted @ 2020-11-23 21:12 MQFLLY 阅读(132) 评论(0) 推荐(0)
摘要:Gym - 101755D Transfer Window 二分图 打印路径 题意 给出$n$个球员,$n\times n$的矩阵表示$a$能否交换$b$,现有$k$个球员$a_1,a_2...a_k$,希望得到$b_1,b_2...b_k$。问是否存在交换方案,若有,按顺序输出交换方案。 \[ n 阅读全文
posted @ 2020-11-23 19:29 MQFLLY 阅读(184) 评论(0) 推荐(0)
摘要:NWERC-2018 Brexit Negotiations 拓扑排序 思维 题意 有$n$个会议要开,一段时间只能开一个会议。 每个会议有两个要素:会议时间和前置会议。 当前会议必须在前置会议结束后才能开。 每个会议的时间 = 当前会议时间 + 第几个会议 给出$n,e,q$ 表示$n$个会议,$ 阅读全文
posted @ 2020-10-01 19:16 MQFLLY 阅读(371) 评论(0) 推荐(0)
摘要:GYM-102501A Environment-Friendly Travel 图论 最短路 题意 给定一个起点,一个终点。 路程中会消耗二氧化碳。问在总路程不超过$B$的条件下,最小的二氧化碳排放量。 坐标以二维平面形式给出,二氧化碳排放即路程乘以交通工具的系数。 \[ 交通方式 1\leq T\ 阅读全文
posted @ 2020-09-28 08:56 MQFLLY 阅读(287) 评论(0) 推荐(0)
摘要:CodeForces-1204C Anna, Svyatoslav and Maps 图论,最短路,双向链表 题意 给你一张$n$ 个点的有向图和一个长度为$m$ 的路径$P_1,P_2.......P_m$ 求一个最短的子序列$Q_1,Q_2.......Q_k$ ,使得$P_1 = Q_1,P_ 阅读全文
posted @ 2020-08-29 20:18 MQFLLY 阅读(139) 评论(0) 推荐(0)
摘要:Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree 题意 给定一棵$n$ 个结点的树,对这棵树分配边权,使得这棵树的边权的乘积为$k$ ,且要求所有两点的简单路径边权之和最大。 \(k\) 以质因子的形式给出,有$m$ 个质因子 结果 阅读全文
posted @ 2020-08-22 17:30 MQFLLY 阅读(336) 评论(0) 推荐(0)
摘要:给定一个有 n 个节点和 m 条有向边的图。每个节点上有一个小写字母。 我们将路径的值定义为最经常出现的字母的数目。例如,如果路径上的字母是 “abaca”,那么该路径的值是 3。 你的任务是找到一条值最大的路径,并将这条路径的值输出。 显然条件是必须在一条路径上,容易想到限制要求拓扑排序,因此可以 阅读全文
posted @ 2020-08-18 21:36 MQFLLY 阅读(145) 评论(0) 推荐(0)
摘要:给定n * n矩阵C ij(1 <= i,j <= n),我们要找到0或1的n * n矩阵X ij(1 <= i,j <= n)。 此外,X ij满足以下条件: 1.X 12 + X 13 + ... X 1n = 1 2.X 1n + X 2n + ... X n-1n = 1 3.对于每个i(1 阅读全文
posted @ 2020-08-07 11:11 MQFLLY 阅读(80) 评论(0) 推荐(0)
摘要:Konig 定理 二分图最小点覆盖包含的点数等于二分图最大匹配包含的边数 POJ 1325 有两台机器A,B,及N个任务,每台机器有M种不同的模式。 对于每个任务 i ,给定两正整数ai 和bi 表示若在A上执行,需切换到模式ai,否则bi。 任务可以随意顺序执行,每台机器转换模式就要重启一次。求怎 阅读全文
posted @ 2020-07-20 10:17 MQFLLY 阅读(123) 评论(0) 推荐(0)
摘要:给定一张图,图中给出一些有向边,一些无向边。 要求给所有无向边赋予方向后能够使整张图无环。 已知给定的图中无自环,无重边 解题思路: 若给定的有向边已经成环,那么必然输出NO,否则都可以构造出解。 考虑原图的拓扑排序,根据两点的进队时间,对于某一无向边,只要使边上两点进队时间也满足拓扑序,就可以使得 阅读全文
posted @ 2020-07-18 10:19 MQFLLY 阅读(395) 评论(0) 推荐(0)
摘要:n,m分别为两边的点数,E为边数。 int e[maxn][maxn]; int n, m; int vis[maxn], match[maxn]; bool dfs(int x) { for (int i = 1; i <= m; i++) { if (e[x][i]) { if (vis[i]) 阅读全文
posted @ 2020-07-17 14:00 MQFLLY 阅读(172) 评论(0) 推荐(0)
摘要:判断所给的图是否是二分图,如果是,输出各自的点。 用染色法 DFS一遍即可 O(N + M) vector<int> col[2]; vector<int> e[maxn]; int vis[maxn]; bool dfs(int v, int color) { vis[v] = color; co 阅读全文
posted @ 2020-07-17 11:33 MQFLLY 阅读(155) 评论(0) 推荐(0)
摘要:给出一DAG,求最小多少个控制点,能够使得控制图中所有点,控制点可以控制本身和他直接能到的点 题解:只需按拓扑序控制每个点即可 #include<iostream> #include<string> #include<unordered_map> #include<cmath> #include<c 阅读全文
posted @ 2020-03-09 20:47 MQFLLY 阅读(158) 评论(0) 推荐(0)
摘要:容易发现同一连通块的答案相等 ,故可以一次遍历图中empty点的答案并保存,保存方法可以建立一个数组,下表是对应的连通块序号 #include<iostream> #include<string> #include<cmath> #include<cstring> #include<vector> 阅读全文
posted @ 2020-03-09 20:43 MQFLLY 阅读(170) 评论(0) 推荐(0)
摘要:#include<iostream> #include<string> #include<cmath> #include<cstring> #include<vector> #include<map> #include<set> #include<algorithm> #include<queue> 阅读全文
posted @ 2020-02-14 20:17 MQFLLY 阅读(152) 评论(0) 推荐(0)
摘要:最短路 1.Floy 复杂度O(N3) 适用于任何图(不存在负环) 模板 --kuangbin #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int INF = 0x3f3f3f3 阅读全文
posted @ 2020-02-02 15:37 MQFLLY 阅读(180) 评论(0) 推荐(0)

1