图论
文章平均质量分 76
图论
小酒窝.
大三菜鸡一只,欢迎来交流讨论,一起进步!
展开
-
22河南省赛 - J. Mex Tree(LCA,MEX)
连通块中所有点的权值的 MEX 恰好为 k,也就是说连通块中至少要出现权值为 1~k-1 的 k-1 个点,并且权值为 k 的节点不在连通块中。对于 k = 0, 1, 2,…, n,找到最大的连通块使得其中所有点权值的 MEX 恰好为 k,输出最大满足的连通块大小。需要注意的是,k = 0 时不需要满足所有小于 k 的节点都在连通块中,所以取该节点上部和下部连通块的最大值作为答案。给定 n 个节点的树,每个节点编号为 1, 2, 3, …, n,第 i 个点的权值为。场上做出来了,很激动~原创 2022-10-19 23:40:06 · 229 阅读 · 0 评论 -
acw - 4626. 最小移动距离(基环树,gcd)
那么如果存在一个树挂到环上的情况(如上图左边的基环树),树上的点一旦进入环中就不可能再出来,所以树上的点 x 走任何步到达一个目标点,目标点都不可能再走到 x,无解。要时刻牢记,n 个点 n-1 条边的连通图是一棵树,n 个点 n 条边的连通图是基环树。而 n 个点,每个点都有且只有一个出度,那么是一个基环树,并且环上挂的树都指向环上节点。那么有解的情况就是图中只存在若干个环,并且在基环树森林中,这些环一定都是各不相交的。,一共 n 个点 n 个点,那么说明这个图是基环树或者不连通的基环树森林。原创 2022-10-13 14:02:05 · 407 阅读 · 0 评论 -
无向图最小环问题
求解无向图最小环问题原创 2022-10-05 23:05:59 · 787 阅读 · 3 评论 -
CF - D. Reset K Edges(二分答案,模拟)
然后发现直接记录就行,用 cnt[i] 存下所有子节点所在子树的最大高度,从下往上走的时候把父节点更新,或者对于每个节点遍历所有子节点的 cnt[i] 取最大值都可。对于深度最深的节点深度 mid 确定了,所有节点的深度都要小于这个值,不满足就执行操作,看最终执行的操作次数是否小于等于 k,如果是,mid 就能达到,继续减小。按照深度从大到小遍历所有节点,如果其最大子树高度大于等于 mid 了,并且其父节点不是根节点,那么就需要将该节点和根节点相连,操作数 +1。给定一棵根节点为 1 的树。原创 2022-09-30 20:43:19 · 557 阅读 · 0 评论 -
牛客多校10 - Reviewer Assignment(最大匹配)
如果说,每篇文章只能由一位评委审核,而每位评委只能审核一篇文章,那就是最大匹配的板子了,但这题,每篇文章可以匹配若干个评委,还要满足让尽量多的文章被匹配,然后每篇文章匹配尽可能多的评委。,那么原来每篇文章的匹配数是不变的,然后有些文章发现又可以和其他评委匹配,那么这些文章的匹配数就增加 1,就满足大于等于 2 位评委审核的文章尽可能多。如果先跑一遍最大匹配,那么尽可能多的文章都可以被匹配,满足被大于等于 1 位评委审核的文章尽量多了。每篇文章可以由若干位(可能为0)评委审核,但是每位评委只能审核一篇文章。原创 2022-09-12 17:17:33 · 299 阅读 · 0 评论 -
牛客多校3 - Journey(建图,最短路)
把每一条路径看作一个点,然后两条路径之间连边,新边权根据两条路径的位置赋值,重新建图。给定一个 n 个点的图,每个点都是一个十字路口,和相邻的四个十字路口之间连边。从一条路径经过十字路口直走,左转或者掉头,花费 1;每个十字路口最多产生 8 个新点,所以最终点数不超过。,最多产生 12 条新边,所以最终点数不超过。,逆时针依次为相邻的四个十字路口编号。...原创 2022-09-01 15:47:01 · 181 阅读 · 0 评论 -
牛客多校2 - Ancestor(LCA,前后缀)
那么这道题中,只删掉了一个数,那么其余数为这个数左边的数和右边的数,把左边所有数算出的 LCA 和右边所有数算出的 LCA 取 LCA 就是这剩下所有数的 LCA。即,若干个数求 LCA,求和,求gcd,求异或等等都和运算顺序没有关系,并且如果已经算出若干个数的答案,现在加进来一个数,那么用算出的结果直接和该数运算即可。这题考察了 LCA 的一个性质,与 求和,求gcd,求异或 …都有的性质 —— 无序性,可结合性。(精确这个 k 是为了减少往上跳的步数,也可以不精确,直接跳 30 步,复杂度高一些)...原创 2022-08-31 11:06:06 · 168 阅读 · 0 评论 -
牛客多校2 - Link with Game Glitch(spfa求正环,套汇,二分答案)
然后发现,当 w 越大的时候越容易出现正环,存在一个临界值 x,当 w 大于 x 时存在正环,当 w 小于 x 时不存在。给定几种货币的兑换汇率: a x b 表示 1 单位 a 货币可以兑换 x 单位 b 货币。如果一个点乘以边权之后比另一端点权值大,那就走过去更新,判断是否存在正环。现在存在一种兑换策略能得到无穷多某个物品,所以将兑换策略修改为:将。当 w 确定的时候便可以跑一遍 spfa 判断是否存在正环。将每一种货币看作一个点,两点之间连边,边权为汇率。给定 n 种物品,一共 m 种转换方案。...原创 2022-08-28 16:43:00 · 197 阅读 · 0 评论 -
牛客多校十 - Shannon Switching Game (倒推,bfs)
反过来,从终点往前推,从终点出发,终点肯定是必胜点。如果一个点能由两个至少两个必胜点到达的话,由双向边,那么这个点往后走就能至少到达两个必胜点,无论切掉哪个边都能到达必胜点,胜利不可阻挡,当前点就是必胜点。把所有必胜点放到队列里去更新相邻点,如果一个点被走到两次,说明其就是必胜点,放到队列。也就是说,如果有一个点相连了至少两个必胜点的话,那么这个点也是必胜点,如果能够走到这个点,那么第一个人就必胜。如果正着从起点考虑,并不知道是否该点有两条路径能够到达终点,不能确定当前点相连的是否是必胜点。原创 2022-08-20 17:40:59 · 185 阅读 · 0 评论 -
牛客多校九 - Here is an Easy Problem of Zero-chan (树形DP,推公式,贡献)
对于图中点 c 来说,所有点都被分成了三块区域,第一块区域的 lca 为 a,第二块区域的 lca 为 b,第三块区域的 lca 为 c,那么 c 点最后的答案为:第一块区域点的数量 * a的属性 + 第二块区域点数 * b的属性 + 第三块区域点数 * c的属性。对于树中的一个节点来说,其与所有点的 lca 无非只有两种情况:要么那个点在当前节点的子树中,lca 为当前节点;当回溯之后,再加上子树中所有节点对当前节点的贡献,即节点数 * 当前节点的 2 或 5 的个数。给定一棵根节点为 1 的树,定义。.原创 2022-08-17 19:58:24 · 222 阅读 · 0 评论 -
《树上差分》小题两则
然后想,从下到上回溯的过程中,把当前节点放到 vector 中,存两个权值,一个是属性,一个是深度,往上走的过程中,把深度差大于其属性的节点从中删掉。这里是点差分,将该链两端点的点权都 +1,将其 lca 的点权 -1,将 lca 父节点的点权 -1。这里是边差分,将每条边都附着在下面的点上,将两端点的差分值分别+1,然后将其 lca 的差分值-2。对于一条附加边来说,只有其所在环上的一条主要边被砍掉,还要保证这条主要边只在这一个环上,或者是不在环中的一条主要边被砍掉,这个附加边才有贡献,不好处理。...原创 2022-08-07 11:40:59 · 162 阅读 · 0 评论 -
Slipper —— 虚点,最短路
这时如果朴素做的话就要跑 n 次最短路,但是可以建一个虚拟源点,向所有起点连边,权值为 0,那么从这个源点跑最短路只需要一次即可。在两层之间建一个虚点,上层所有节点向虚点连一条由向边,边权为 p;这题就是这个思路,能够直接到达的两层之间都建立一个虚点,两层节点向这个虚点连边,然后就可以直接跑最短路了。但是如果直接连边的话,假设两层点数分别为 n, m,那么连边数为 n*m,边数很多。如果有若干个起点,若干个终点,求任一起点到任一终点的最短距离。需要注意,输入数量到达 5e6,要换scanf,最好用快读。..原创 2022-08-03 18:44:39 · 185 阅读 · 0 评论 -
旅行 (拆点分层)、求1-n中每个数的所有质因数
给定n个点m个边的无向图,每个边有花费wi。起点为1,终点为n。对于从起点到终点的一条路径来说,走到第偶数个点要花费x。问,从起点到终点的最少花费为多少?(1≤n,x≤105,n−1≤m≤2×105)分析题目知道,对于一条路径来说,其花费不仅依赖于边权之和,还要依赖于路径长度。路径越长,偶数点越多,就要多花费若杠个x。所以不能简单的跑最短路。(false),.tie(0)longlongO(n。...原创 2022-07-24 22:24:41 · 249 阅读 · 0 评论 -
次小生成树
给定一张 NNN 个点 MMM 条边的无向图,求无向图的(严格)次小生成树。设最小生成树的边权之和为 sumsumsum,严格次小生成树就是指边权之和大于 sumsumsum 的生成树中最小的一个。找一个不在最小生成树的边加进去,肯定会构成一个环,然后替换掉环中除了该边权值最大的一个边,便得到一个新的生成树。取所有这样的生成树中的最小值便是次小生成树。为了保证次小生成树是严格次小,要保证替换掉的最大边权和加进去的边权不相等,如果相等的话,就替换掉次大边权。如果不用保证严格次小,那么直接用最大边权替换就可以原创 2022-07-18 10:43:36 · 1904 阅读 · 0 评论 -
分层图最短路
今天遇到了一个分层图最短路,虽然是模板题,但是之前没学过,所以来现学一下。什么是分层图?分层图最短路模型:对于一个n个点,m条边的无向图,每条边长度为 wi,求两点间的最短距离。但是有 k 次特权,每次可以将当前边的长度变为 0 (或其他)。在使用不超过 k 次特权的情况下,求两点间的最短距离?遇到这样将边的大小改变的模型,可以构建分层图模型,然后跑最短路。分层图就是把当前点复制几个,放到对应点的下方。有k次特权,就构建k+1层,从当前层连向下一层的边为0,也就是使用了一次特权。最后取这原创 2021-10-06 22:28:34 · 400 阅读 · 0 评论 -
严格次短路 & 非严格次短路
求次短路的思路都相同,都是把值丢到优先队列里,每次取出最小值将其邻点更新。如果能更新最短距离的话,肯定更新最短距离,换下来的最短距离递补成次短距离;不能更新最短距离的话,再看能否更新次短距离。而严格次短和非严格次短的区别就在于:最短距离和次短距离能否更新成相同值。一、非严格次短路模型次短路的长度可以和最短路长度相同,问次短路长度为多少?思路定义两个 dist数组,用于存放最短距离和次短距离。从优先队列里面取出一点 dis,遍历所有邻点 tx:如果 dis + w 比 tx 的最短距离小原创 2022-05-25 18:09:55 · 617 阅读 · 0 评论 -
CCPC - E. Exchanging Gifts (思维+拓扑序),I(思维,组合数)
E. Exchanging Gifts题意一共 m 个人,初始每个人的手中都有一种礼物 aia_iai。两两之间可以互换礼物,如果最终每个人的手中和初始礼物不同,那么这个人是高兴的。问,最多能使多少人高兴?m 可能很大,所以将会给出 n (1≤n≤106)n \,\,\, (1≤n≤10^6)n(1≤n≤106) 个序列 sis_isi,初始礼物序列 a[]a[]a[] 为序列 sns_nsn,第 i 个序列 sis_isi 采取如下的输入方法:1 k q[1..k]原创 2022-05-02 11:18:05 · 613 阅读 · 0 评论 -
acw周赛 - 点的赋值 —— 二分图染色
题目链接题意给定 n 个点 m 条边的无向无权图,点的编号为 1-n。无自环和重边。将图中的每个节点赋值,要求:每个点的权值为1或2或3;图中的每一条边都满足,其两端点权值之和必须为奇数。问,一共多少方案数?思路因为每条边的两端点权值和都为奇数,所以一条边的一个节点肯定为 2,另一端点为 1 或者 3。用 1,2 将整个图染色,1 的位置可以为 1 也可以为 3。相反,1,3 可以和 2 互换。所以对于一个连通块的答案为 2cnt1+2cnt22^{cnt1} + 2^{cnt2}原创 2022-04-30 23:45:36 · 210 阅读 · 0 评论 -
dijkstra 求最小环( CCPC桂林 - E. Buy and Delete )
前言:今天做题的时候,碰到一个有向图求最小环问题,发现除了经典的 Floyd求最小环 之外,熟知的求最短路问题的 dijkstra算法 也可以求最小环。实现方式1:回到起点构成环将每一个点都作为起点,跑 dijkstra。对于每个点,从该点出发判断是否能够再回到起点,如果能,说明从该点出发能构成环。因为是跑最短路求得的,所以这个环是 所有从起点出发回到起点的环中 权值最小的一个。将所有点作为起点所得的最小环的最小值 便是 整张图的最小环。每个点都跑一遍 dij,所以 时间复杂度:O(n∗ml原创 2022-04-11 17:18:41 · 1882 阅读 · 0 评论 -
判断最小生成树的唯一性
先来看一个例题:Forsaken喜欢独一无二的树题意:现在给定一个 nnn 个点,mmm 条边的图,每条边 eie_{i}ei 都有一个权值 wiw_{i}wi 。刚开始最小生成树可能不唯一,现在可以删除一些边,使得剩下的边的最小生成树大小不变并且唯一。求删除的边的权值和最小是多少?分析:什么样的边会影响到最小生成树的唯一性呢?kruskal 求最小生成树 是将所有边权从小到大排序,然后判断当前边的两个端点所在连通块是否连通。如果没有连通,那么这条边就需要拿。而此时如果有另外一条边,虽然原创 2022-04-06 22:38:22 · 5147 阅读 · 1 评论 -
ABC235 - E - MST + 1 —— 最小生成树,离线操作
题目来源题意:给定一个 n 个点,m 条边无向连通图,每条边有权值 cic_ici,各不相同。所以,其最小生成树是唯一的。有 qqq 次询问,每次给出一条边:xi,yi,wix_i, y_i, w_ixi,yi,wi,表示两端点为 xix_ixi 和 yiy_iyi,权值为 wiw_iwi。问,加入这条边之后,该图的最小生成树会不会发生变化?或者说,加入的这条边是否会在新的最小生成树中?2≤N≤2×1052≤N≤2×10^52≤N≤2×105N−1≤M≤2×105N−1≤M≤2原创 2022-04-06 20:54:24 · 610 阅读 · 0 评论 -
牛客练习赛93 - 点权 —— 多源最短路
题目来源题意:给定 n 节点的一棵树,每条边有正边权 wi。初始叶子节点已染色,其余节点未染色。每次操作可以用两个已染色的节点将一个 与其相连的未染色节点 染色,花费为两条相连边的边权之和。问对于每个点 i,其染色的最小花费。如果无法染色,输出 -1。分析:两个节点可以将一个节点更新。所以对于每个点要找最小花费的两个节点来将其更新,用两个数组 min1[i], min2[i] 来表示用于其更新的两个最小花费的节点(加上边权)。首先先将所有的叶子节点放到优先队列中,每取出一个点将其所有相邻原创 2022-04-03 17:18:14 · 467 阅读 · 0 评论 -
最小生成树问题——小题三则
文章目录1、新的开始题意:分析:Code:2、北极通讯网络题意:分析:Code:3、走廊泼水节题意:分析:Code:1、新的开始题意:一共 nnn 口矿井,为保证电力的供应有两种策略:在矿井 iii 上建立一个发电站,费用为 viv_ivi(发电站的输出功率可以供给任意多个矿井)。将这口矿井 iii 与另外的已经有电力供应的矿井 jjj 之间建立电网,费用为 pijp_{ij}pij。求保证所有矿井电力供应的最小花费方案。分析:如果只采取第二种策略,那么保证电力供应,也就是使得所有原创 2022-03-29 20:17:10 · 542 阅读 · 0 评论 -
经典问题《树的直径》与《树的中心》,详解。
1、定义树的直径: 树上最远的两个节点之间的距离。连接这两点的路径被称为树的最长链。2、如何求出一棵树的直径呢?将任意点看作根节点。对于节点 x 来说:如果最长链在以节点 x 为根的子树中,并且经过节点 x,那么最长链的长度就是从节点 x 到最底端的两个最长路径距离之和。容易想到,最长链一定在一个节点为根的子树中,并且经过该节点,所以我们只需要在所有节点下,找出每个点到最底端的最长的两个距离,维护两个距离和的最大值即可。最终的最大值便是这棵树的直径。从根节点出发,我们可以 dfs 维原创 2022-03-18 18:27:02 · 1411 阅读 · 0 评论 -
可达性统计 —— 拓扑排序 / 记忆化搜索 + bitset状态压缩
题意:给定一张 N 个点 M 条边的 有向无环图,分别统计从每个点出发能够到达的点的数量。1≤N,M≤300001≤N,M≤300001≤N,M≤30000分析:注意到该图是有向无环图,那么其中的节点就满足拓扑序。对于拓扑序列来说,前面的点一定会指向后面的点。所以我们可以从后往前处理,对于遍历到点 x,其指向的节点的可达点就已经固定了。于是当前点 x 的可达点就是指向节点的所有可达点。但是不能直接将子节点的可达点个数相加,因为子节点间的可达点可能有重复。对于重复的元素只取一个,我们可以想到 或原创 2022-03-14 14:41:15 · 564 阅读 · 0 评论 -
Floyd 解决《最短路最大删边问题》
问题模型:给出 N(N ≤ 500)个点的连通图,问:在不影响任意两点最短距离的情况下,最多能够删除多少条边?分析:什么样的边能够删掉呢?这条边对任何两点的最短距离都没有影响。也就是,对于其端点 a 和 b:从 a 到 b 的最短距离 dist[a,b] 比该边权 w[a,b] 小;从 a 到 b 的最短距离 dist[a,b] 和该边权 w[a,b] 相等,但是可以是从另外的路径过来。那么这条边一样不需要。对于这种情况,可以遍历判断是否存在中转点 k,使得 dist[a,b] = di原创 2022-03-13 18:01:18 · 413 阅读 · 0 评论 -
Floyd 求解《最小环问题》,原理详解。
用最简单易懂的思路帮你搞懂《最小环问题》!原创 2022-03-11 17:21:50 · 1344 阅读 · 4 评论 -
floyd——记录路径,原理详解。
Floyd如何记录最短路的路径并输出呢?原创 2021-05-18 21:27:18 · 4567 阅读 · 10 评论 -
双端队列_01bfs——附详解典例
我感觉这个算法是作为 dijkstra 等求最短路的优秀替换!时间复杂度可以降到O(m)!原理:如果边权只是0和1的话,启用优先队列未免太浪费资源了!这里用双端队列正是对这个地方的优化,将优先队列O(logn)的时间复杂度降到了O(1)!!过程是这样的:从起点开始,加入队列。while队列非空,取队首元素,用这个节点更新其他节点。如果可以更新的话:1、边权为0,放到队首。(从边权为0......原创 2021-05-15 22:31:35 · 6599 阅读 · 12 评论 -
牛客小\白月赛43——F.全体集合(二分图染色)
Linking题目:给出 nnn 个点 mmm 条边 的无向图,给出 kkk 个点,这 kkk 个点上每个点都有一个人,每个人每回合能走到一个相邻的节点(不能停留不走),问:有没有可能在某一个回合,让这些人都集中在一个点?1≤n,k≤2e5,0≤m≤min(5e5,n∗(n−1)/2)1\le n,k\le 2e5,0\le m\le min(5e5,n*(n-1)/2)1≤n,k≤2e5,0≤m≤min(5e5,n∗(n−1)/2)思路:如果所有有人的点都可以被染成黑色或白色,那么这些人可以集原创 2022-01-20 23:19:51 · 305 阅读 · 0 评论 -
Cow and Fields(最短路,贪心)
Linking题意:给出一个 n 个点 m 条边的无向图,起点为 1,终点为 n。其中有 k 个特殊的点,现在要加一条边连接两个特殊的点,使得从 1 到 n 的最短路最长。输出这个最短路长度。思路:容易想到其朴素做法,两重循环找出两个点 ,使得起点到一点的最短距离 + 终点到另一点的最短距离 + 1 最大。因为是最短路,所以这个最大值要和原来1到n的最短距离取min。假设找出的两个点为 i 和 j,起点到两个点的距离为xi, xj,终点到两个点的距离为yi, yj,那么加这一条边之后的最短距原创 2022-01-20 22:42:33 · 353 阅读 · 0 评论 -
D. Short Path(floyd应用,上海12月月赛)
Linking题意:一共有 nnn 个点,现在用 n2n^2n2 矩阵给出了任意两点之间的最短距离 aija_{ij}aij。现需要你建几条边,使得所给出的任意两点的最短距离都要满足。输出所建边权之和的最小值。如果无法满足,输出-1。思路:这道题与众不同的地方在于,已经给出了任意两点的最短距离,只需要判断是否仍存在更短距离(无解情况)或者能由其他路径能够到达(这两个点之间就不用建边)。其实就是从一个完全图中,筛掉几个两点间的边,但仍要满足最短距离。那么就可以用 floydfloydfl原创 2021-12-27 12:08:57 · 347 阅读 · 0 评论 -
点权(bfs,最短路,牛客练习赛93)
Linking题意:简化后的题意为:给出节点数为 nnn 的一棵树,每条边有边权 cic_ici。(n≤105,ci≤103)(n \le 10^5 ,c_i \le 10^3)(n≤105,ci≤103)一个点必须由两个相邻的已更新的点更新,花费为两条边的边权之和。初始入度小于2的节点(叶子节点)已更新。对于每个点,求出能够将其更新的最小花费。如不可更新,输出-1。思路:从所有的叶子节点往中间更新,两个已更新的节点才能更新一个节点。求得到每个节点所需要的最小花费。乍一看,是多源bf原创 2021-12-11 19:33:00 · 1251 阅读 · 0 评论 -
AtCoder 224.D - 8 Puzzle on Graph(bfs,妙)
AtCoder 224.D - 8 Puzzle on Graph题意:一个含有 9 个节点的图(边数 ≤ 36),有 8 个物品分布在 8 个节点上:第 i 分布在节点 vi 上。问,能否通过空节点和其连节点间的物品移动,使得最终物品 i 在节点 i 上?如果可,输出最小操作步数;否则,输出-1。思路:由 初始状态 变化为 最终状态,每次操作都会将状态改变。问最小操作次数。和 奇怪的电梯 这题类似,都用到了bfs的重要性质,求最短路径(最小操作次数)。第一次搜到该点所走的路径是最短的!所以原创 2021-10-25 21:38:06 · 400 阅读 · 0 评论 -
2021 沈阳站 Luggage Lock(最小操作次数 转化为 最短路)
题目链接题意:对于一个长度为4的数字字符串,每次操作可以使得连续若干位置上的数都+1或者-1。(符号9加1变为0,符号0减1变为9)给定两个字符串a,b。问,字符串a转化为字符串b所需要的最少操作次数。最多1e5次询问。思路:对于一种字符串,其可以转化成的状态一共有4+3+2+1=10种。一共最多有10410^4104种状态。所以可以将一种状态看作一点,可以相互转化的状态之间连边,权值为1,建图。问,从一种状态到另一种状态的最少操作数 ,也就转化为求两点之间的最短距离。但是一共有1e5次原创 2021-11-25 21:38:26 · 515 阅读 · 0 评论 -
2021 四川省赛 L. Spicy Restaurant(最短距离相互性,多源bfs)
题目链接大意:给定一个 n 个点,m 条边的无向图,每个点有点权 wi,边权都为 1。(1≤n,m≤105,1≤wi≤100)1 \le n, m \le 10^5, 1 \le w_i \le 100)1≤n,m≤105,1≤wi≤100)一共 q 次询问,每次给出一个点 x,输出不超过 x 的点权的所有点中,距 x 最近的点的距离。(1≤q≤5×105)(1≤q≤5×10^5)(1≤q≤5×105)思路:一共有5e5次询问,所以如果是每次询问都现求的话,每次求答案都需要在O(logn)的复原创 2021-11-13 12:05:07 · 575 阅读 · 0 评论 -
ICPC2020 SWERC Jogging(最短路+思维)
题目链接大意:一个人从 000 点出发,每次跑步都想有之前没走过的街道(边),但是不一定走完这条街。并且每次跑步都要有路径长度的范围(l,r)(l,r)(l,r)。求满足这样的要求,最多能跑多少次。思考:肯定是先跑最近的没走过街道,然后再通过这些街道,到达远的,没走过的街道。判断一个街道能否到达,如果到达这个街道的时候,路径长度*2 < 最大范围,那么这个街道就是可到达的。(不用管下边界,反正能来回跑)要使能到达的街道尽可能多,所以要尽量使得到达这个边的路径最短。到达这个边有两种方式原创 2021-09-03 23:54:29 · 170 阅读 · 0 评论 -
2021浙江省赛—Grammy and Jewelry(最短路+完全背包)
题目链接题目描述There is a connected undirected graph with nnn vertices and m edges. Vertices are indexed from 111 to nnn. There is infinite jewelry in vertex iii (2≤i≤n)(2≤i≤n)(2≤i≤n), each valued aia_iai. Grammy starts at point 111. Going through each edge c原创 2021-09-02 22:24:46 · 738 阅读 · 1 评论 -
自由世界(代码)
#include<iostream>#include<cstring>#include<queue>using namespace std;#define ll long long const int N=4010010;int n,m,ans,cnt;int e[N],ne[N],w[N],h[2010],idx=1;int dist[2010],f[2010],k;int a[2010][2010],ff[2010];void add(int原创 2021-06-13 11:57:41 · 145 阅读 · 0 评论 -
自由世界(最短路spfa!)
这道题我做出了区域赛现场赛的感觉。。原创 2021-06-13 11:45:39 · 151 阅读 · 2 评论