首页 > 其他分享 >P1967 [NOIP2013 提高组] 货车运输

P1967 [NOIP2013 提高组] 货车运输

时间:2024-07-31 14:06:59浏览次数:15  
标签:NOIP2013 cdot 复杂度 查集 货车运输 生成 P1967

原题链接

题解

朴素做法:

每次询问,二分最小边,然后bfs遍历查看是否能到达,时间复杂度 \(O(q\cdot logn\cdot m )\)

优化:

如果答案里的最小边是 \(k\) ,那么代表所有边权不小于 \(k\) 的边都可以使用,因此可以直接从大到小加入边,直至起点与终点连接

时间复杂度 \(O(q\cdot m \cdot logm )\)

这个做法虽然没有优化多少,但是这个思想给了我们启发,因为这个过程有点像求最大生成树的过程(并查集做法,这里的最大生成树是指树中最小的边最大)

而对于每一次查询,其实最大生成树是一样的,因此我们只需要在查询前求一次最大生成树,并用带权并查集维护距离

时间复杂度 \(O(q+mlogm)\)

code


标签:NOIP2013,cdot,复杂度,查集,货车运输,生成,P1967
From: https://www.cnblogs.com/pure4knowledge/p/18334482

相关文章

  • [题解]P1967 [NOIP2013 提高组] 货车运输
    P1967[NOIP2013提高组]货车运输题意简述给定一个\(N\)个节点,\(M\)条边的无向图,其中每条边有一个边权。接下来给定\(q\)次询问。每次询问给出\(x,y\),请计算\(x\)到\(y\)路径上最小边权的最大值是多少。解题思路我们对于每个连通块跑一遍最大生成树。这样整张图就成了一片森......
  • CSP历年复赛题-P1982 [NOIP2013 普及组] 小朋友的数字
    原题链接:https://www.luogu.com.cn/problem/P1982题意解读:特征值:第i个同学的特征值是1~i中最大子段和,分数:第i个同学分数是前1~i-1个同学的分数+特征值最大值,求最大分数。解题思路:第一步:先计算特征值f[i],f[i]等于1~i中所有数的最大子段和,所以借助最大子段和的DP方法,每次计算以i......
  • CSP历年复赛题-P1981 [NOIP2013 普及组] 表达式求值
    原题链接:https://www.luogu.com.cn/problem/P1981题意解读:中缀表达式求值,只有+,*,没有括号,保留后4位。解题思路:中缀表达式求值的典型应用,采用两个栈:符号栈、数字栈,对于没有括号的情况,只需要如下步骤:1、遍历表达式每一个字符2、如果遇到数字,则持续提取数字,保存整数到数字栈3、......
  • CSP历年复赛题-P1980 [NOIP2013 普及组] 计数问题
    原题链接:https://www.luogu.com.cn/record/160821231题意解读:统计1~n中x的个数。解题思路:枚举每个数,提取每一位,判断是否等于x。100分代码:#include<bits/stdc++.h>usingnamespacestd;intn,x,ans;intmain(){cin>>n>>x;for(inti=1;i<=n;i++)......
  • 难存的情缘&货车运输
    事先说明,参考的oceans_of_stars,顺便%一下(有事他背锅)一个求最大,一个求最小,没啥好说的,拿难存的情缘举例说明边权如何转点权一天机房的夜晚,无数人在MC里奋斗着。。。大家都知道矿产对于MC来说是多么的重要,但由于矿越挖越少,勇士们不得不跑到更远的地方挖矿,但这样路途上就会花费相......
  • P1969 [NOIP2013 提高组] 积木大赛
    P1969[NOIP2013提高组]积木大赛题目春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为\(n\)的大厦,大厦可以看成由\(n\)块宽度为\(1\)的积木组成,第\(i\)块积木的最终高度需要是\(h_i\)。在搭建开始之前,没有任何积木(可以看成\(n\)块高度为......
  • 洛谷题单指南-图的基本应用-P1983 [NOIP2013 普及组] 车站分级
    原题链接:https://www.luogu.com.cn/problem/P1983题意解读:由于“如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠”。因此,在始发站和终点站之间,能停靠的车站都是级别较高的,没有停靠的车站都是级别较低的,计算最少有多少个不同级别。解题思路:......
  • P1967 [NOIP2013 提高组] 货车运输 题解
    P1967[NOIP2013提高组]货车运输原题地址思路:由于题目要求的是使两点之间的最小边权最大,所以可以构造最大生成树(最大生成树一定是最大瓶颈生成树,而瓶颈生成树上两点之间的路径,在原图中的所有路径中,最小边权仍然最大,即满足题目要求,详见https://oi-wiki.org/graph/mst/#性质),......
  • 货车运输
    借这一道题目来介绍一下最小瓶颈路和Kruscal重构树首先本来这道题目我其实是没看出来是最大生成树的(因为不知道上面两个东西),然后我想的是二分,当然也可以做,但是复杂度多一个\(log\)对上面两个东西的介绍见OI-wiki下面是一些解释最小瓶颈路的性质的第一句话说“根据最小生成树定......
  • 货车运输(LCA+最大生成树)
    货车运输这题会有重边,又因为求的是尽可能大的边中的最小值,所以我们可以先用最大生成树维护,如何用最大生成树呢?可以用Kruskal和并查集,顺便处理重边,处理完重边后,可以用倍增LCA求两点之间的最大载重量处理重边时,必须把dis在x,y相同情况下大的排在前,以保证最优,用并查集find判断是否......