
图论
lalalzo
Acmer 加油
展开
-
Gym - 100917F Find the Length-用最小路径树求最小环
https://codeforces.com/gym/100917/problem/F题目大意:就给你一个无向图,求出所有点属于的最小环大小。思路:我们给每一个点用dji求出最小路径树,然后对于一颗最小路径树,求环。和树根构成环只有两种情况:(1) 树根到其他点有边就能构成环(不是树根直达的点)(2)不同子树的点有边(树根能直达的子树)不画图了,你们自己画一下就懂了。#include <cstdio>#include <cstring>#incl原创 2021-07-28 18:46:24 · 293 阅读 · 0 评论 -
Planes, Trains, but not Automobiles-求最小路径覆盖的起点终点
https://vjudge.net/problem/Kattis-planestrainsbutnotautomobiles题意:给一个有向图,火车可以由任意一个起点开始,每一个点只能经过一次,在坐火车的时候你可以选择坐飞机到另外一个点,求坐飞机的最小次数,以及求出可能在哪里坐飞机和降落。样例:思路:求坐飞机次数 就是裸的最小路径覆盖,然后bfs求出可能的起点和终点。#include <iostream>#include <cstdio>#include.原创 2021-07-22 00:25:39 · 149 阅读 · 0 评论 -
牛客挑战赛47 C 条件(Floyd bitset优化)
牛客挑战赛47 C 条件思路:首先我们要两个图,一个是一定能到达的,一个是可能到达的,如果我们使用floyd (n^3)就有可能会超时,因为只要求询问能否到达,所以权值只有0和1,那我们可以使用bitset来优化floyd算法的最后一维,第一维是枚举中间节点,第二维是枚举起点,第三维就是枚举终点,我们要优化的就是终点。(思路参考牛客挑战赛47的题解)#include <iostream>#include <cstdio>#include <fstream>#原创 2021-04-07 13:12:02 · 297 阅读 · 0 评论 -
牛客挑战赛47 D Lots of Edges(最短路+递归枚举子集)
牛客挑战赛47 D Lots of Edges思路:点的权值最多只有(1<<17)-1(131071) ,那我们可以枚举终点的值来算最短路,每个点能连边的值都是固定的,可以通过递归枚举子集(技巧)来找,每个点最多入队一次,所以最多只有131071次,枚举时会按位遍历 还有*17;#include <iostream>#include <cstdio>#include <fstream>#include <algorithm>#inc原创 2021-04-07 12:53:56 · 109 阅读 · 0 评论 -
HDU - 5877 Weak Pair (dfs序+树状数组+离散化)
VJ地址题意:给一个有根树给你,计算一下满足下列条件的序列对的数目(1)u是v的祖先(不能是它自己)(2)a[v]*a[u]<=k思路:用DFS序分裂每一条链,使链上的点都是当前加入点的祖先,用树状数组维护,or线段树,因为是单点修改就用就树状数组了。 每次加入点前,计算小于等于k/a[v]点的数量。还有数据大小是1e9,但是只有1e5个点,要离散化处理。ps:还有要自己找到根节点。具体细节:#pragma comment(linker, "/STACK:1024000000,1024原创 2020-12-24 00:00:31 · 127 阅读 · 0 评论 -
牛客练习赛74 D CCA的图
牛客地址题意:中文题目很简单,就是每条路径有一个w权值,你要从s到t,问你,从s到t的路径中,w的最小值为L,最大值为R,你要保证L尽可能的大的情况下R尽量小,输出该L和R值思路:可以先从权值最大的边开始添加,然后s和t是连通的话,那么就说明L的最大值就为这个,再大就无法连通了,在这个基础上,我们从L开始,再找R的最小值,完事。#include <cstdio>#include <cstring>#include <string>#include <cm原创 2020-12-21 20:33:22 · 136 阅读 · 0 评论 -
POJ - 3692 Kindergarten(最大独立集/最大匹配)
In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some girls and boys know each other. Now the teachers want to pick some kids to play a game, which need that all playe原创 2020-09-06 11:42:57 · 261 阅读 · 0 评论 -
Codefest 18 (rated, Div. 1 + Div. 2)-D-Valid BFS--思维--已知bfs序,求是否正确
Codefest 18 (rated, Div. 1 + Div. 2)-D-Valid BFSvj地址题意:给你一段bfs序列,让你判断是否正确思路:先给节点排序(很关键) 我们给每一个的点的邻接表按照给出的bfs序列排序,排好后, 我跑一下bfs,出来的序列应该是一样的,如果不一样,则是错误的。代码#include <cstdio>#include <cstrin...原创 2020-05-12 01:10:11 · 217 阅读 · 0 评论 -
反向图——dj算法(判断从起点 开始有没有第二条路径能到达)Gym 102501K
Gym 102501K BirdwatchingGym 102501K题意:题目比较难读,就是给你一个t点 找到所有 i->t的i点 没有第二条路径到达t点。思路:反向图 跑dj算法,但是要注意 自环的情况,所有每个点 能够遍历多次代码:(细节很多):#include <cstdio>#include <cstring>#include <strin...原创 2020-12-21 20:42:34 · 168 阅读 · 0 评论 -
多层图,dj+dp Gym 102501A Environment-Friendly
一般求最短路,限制某个条件Gym 102501A Environment-Friendly Gym 102501A Environment-Friendly题意:求最小的co2消耗量(最短路可) ,有一个限制条件,路途的距离 不能超过B思路:dj+dp代码:#include <cstdio>#include <cstring>#include <stri...原创 2020-12-21 20:43:33 · 230 阅读 · 0 评论