随笔分类 - 图
摘要:题意:有一个$n$个点,$n$条边的图,问你长度至少为$1$的简单路径有多少条. 题解:根据树的性质,我们知道这颗树一定存在一个环,假如一棵树没有环,那么它的所有长度不小于$1$的简单路径数一定是$\frac{n*(n-1)}{2}$,因为每个点都可以和其他任意一个点形成一条路径,除以$2$表示去除
阅读全文
摘要:题意:给你一个$n$个点的完全$k$叉树的先序遍历序列$a$,还原这颗树并且求所有两个端点的异或和. 题解:用dfs在还原树的时候,把子节点和父亲节点的异或贡献给答案,对于每个节点,我们找它所有的子节点(从左到右),如果子节点合法就不断递归求贡献即可. 代码: class Solution { pu
阅读全文
摘要:题意:有$n$个点和$m$条无向边,现在让你给你这$m$条边赋方向,但是要满足任意一条边的路径都不能大于$1$,问是否有满足条件的构造方向,如果有,输出一个二进制串,表示所给的边的方向. 题解:我们先单独拿出$3$个点来看,选择一个点,那么与它相连的另外两个点到自己的方向一定是相同的,同理,我们可以
阅读全文
摘要:题意:有$n$个点,$m$个集合,集合$E_i$中的点都与集合中的其它点有一条边权为$t_i$的边,现在问第$1$个点和第$n$个点到某个点的路径最短,输出最短路径和目标点,如果不满足条件则输出$Evil John$. 题解:题目所给的边数关系太复杂了,我们可以让每个集合中的所有点都与一个虚拟节点连
阅读全文
摘要:Link Cut Centroids Fishing Prince loves trees, and he especially loves trees with only one centroid. The tree is a connected graph without cycles. A v
阅读全文
摘要:题意:给你一张DAG,求图中的最长路径. 题解:用拓扑排序一个点一个点的拿掉,然后dp记录步数即可. 代码: int n,m; int a,b; vector<int> v[N]; int in[N]; int dp[N]; int main() { //ios::sync_with_stdio(f
阅读全文
摘要:题意:给你$n$个点,每个点都有权值,现在要在这$n$个点中连一颗最小树,每两个点连一条边的边权为两个点的点权,现在还另外给了你几条边和边权,求最小权重. 题解:对于刚开始所给的$n$个点,假如不考虑后来给的边,仅用这些点来构造,那么最优解一定是最小点权的那个点和其他点连边,所以我们先把这样连边存起
阅读全文
摘要:题意:有$n$个点,$m$条边,只有当你的智力值大于这条边的$w$才能走,问在花费不超过$k$的情况下,从$1$走到$n$的所需的最小智力值. 题解:这题比赛为什么没想出来呢?赛后看题解发现可以二分答案然后跑最短路来check,网上的题解全都是SPFA啊,我还是喜欢写dijkstra qwq. 代码
阅读全文
摘要:题意:给你一张图,对其染色,使得相连的点的颜色两两不同求,最少使用多少种颜色. 题解:首先,若$n=1$,只需要一种.然后我们再去判断是否是二分图,对于二分图,两种颜色就够了,若不是二分图,也就是可能存在奇环的情况,那么三种颜色铁够了.所以题目就转化成了判断是否是二分图. 代码: int n,m;
阅读全文
摘要:题意:有$n$个点,$m$条边的无向图,可以给每个点赋点权${1,2,3}$,使得每个点连的奇偶不同,问有多少种方案,答案对$998244353$取模. 题解:要使得每个点所连的奇偶不同,很明显是二分图染色,那么对于某一个联通块,我们可以对左边的点赋$2$,右边的点赋${1,3}$,那么左边的点没有
阅读全文
摘要:题意:有一个$n$个点的有向图,从$1$出发,问是否有负环. 题解:我们可以用SPFA来进行判断,在更新边的时候,同时更新路径的边数,因为假如有负环的话,SPFA这个过程一定会无限重复的遍历这个环,那么这个环中的边数也就会不断增加,因为我们只有$n$个点,所以假如某条路径的边数$\ge n$时,就说
阅读全文
摘要:题意:有$n$个点,$m$条双向边,两个方向的权值都是相等的,可以从$A$中的某个点出发走到$B$中的某个点,求所有路径中的最短距离,如果A和B中没有点联通,则输出$-1$. 题解:感觉是个阅读理解啊,题目看懂了就是个裸的单源最短路,我们首先将牛牛的所有星球初始化作为起点,然后建边跑个dijkstr
阅读全文
摘要:题意:有$n$个点,$n-1$条边,每条边正向和反向有两个权值,且每条边最多只能走两次,有$m$次询问,问你从$u$走到$v$的最大权值是多少. 题解:可以先在纸上画一画,不难发现,除了从$u$走到$v$的路径上的反向权值我们取不到,其他所有边的正反权值均能取到,所以答案就是:\(sum-u->v路
阅读全文
摘要:题意:有一$n$个点,$m$条边的双向图,每条边都有花费和流量,求从$1$~$n$的路径中,求$max\frac{min(f)}{\sum c}$. 题解:对于c,一定是单源最短路,我们可以用dijkstra,但是这个最小流量不是很好搞,但是题目所给的数据范围较小,所以我们可以直接枚举最小流量,然后
阅读全文
摘要:题意:有$n$个点,连$m$条边,求最多有多少条食物链(从头走到为有多少条路径). 题解:之前抽了点时间把拓扑排序补完了,这题其实就是一道拓扑排序的裸题.关于拓扑排序: 1.首先,我们用$in$记录某个点的入度,$out$表示这个点向外所连的点. 2.遍历所有点,找到入度为$0$的点,将其入
阅读全文
摘要:题意:给你5个$A,B,C,D,E$大小关系式,升序输出它们,如果所给的大小矛盾,输出$impossible$. 题意:当时第一眼想到的就是连边然后排序,很明显是拓扑排序(然而我不会qwq,之后再补),但貌似可以直接暴力来写,用二维数组来记录两个数之间的大小关系,如果一维$>$二维就记录true,然
阅读全文

浙公网安备 33010602011771号