NOIP2018 旅行 和 赛道修建】的更多相关文章

填很久以前的坑. 旅行 给一棵 n 个点的基环树,求字典序最小的DFS序. n ≤ 5000 题解 O(n2) 做法非常显然,枚举断掉环上哪条边然后贪心即可.当然我去年的骚操作只能得88分. O(n log n) 做法,推荐duoluoluo的博客. 环上要删的边是固定的,我们在环上走的时候,只有当其出边连向的点中,环上点编号最大,且比回溯到父亲后第一个走的点还大,这时候才回溯,其他时候就正常跑DFS. #include<bits/stdc++.h> using namespace std;…
[NOIp2018提高组]赛道修建 题目大意: 给你一棵\(n(n\le5\times10^4)\)个结点的树,从中找出\(m\)个没有公共边的路径,使得第\(m\)长的路径最长.问第\(m\)长的路径最长可以是多少. 思路: 二分答案+树形DP.\(f[x]\)表示以\(x\)为根的子树中最多能找出几个长度\(\ge k\)的路径.\(g[x]\)表示去掉已经满足的路径,从\(x\)子树内往上连的最长的路径有多长. 转移时将所有子结点的贡献\(g[y]+w\)排序.若贡献已经\(\ge k\)…
题目大意:$NOIP2018\;TG\;D1T3$ 题解:题目要求最短的赛道的长度最大,可以想达到二分答案,接着就是一个显然的树形$DP$. 发现对于一个点,它子树中若有两条链接起来比要求的答案大,一定接起来成为一条路径,因为接起来答案一定加一,而传递上去的话不一定.然后对于一条链,一定是找可行的最短的链与它相接,把尽可能长的链传递上去.找最小的可行的链我使用了双向链表(复杂度$O(n)$,右端点总共最多向左移动$n$次,每次最多向右移动$1$次) 卡点:考场上写结束后删除节点后转移到下一个节点…
我同学的歌 题目描述 你有一棵树,每条边都有权值 did_idi​.现在要修建 mmm 条赛道,一条赛道是一条连贯的链,且一条边至多出现在一条赛道里.一条赛道的长被定义为,组成这条赛道的边的权值之和.求这些赛道中长度最小的一条的长度的最大值. Solution 代码先搁着.…
Luogu5021 [NOIP2018]赛道修建 一棵大小为 \(n\) 的树,边带权.选 \(m\) 条链使得长度和最小的链最大. \(m<n\leq5\times10^4\) 贪心,二分答案 最小最大?二分 先看部分分 菊花图 二分答案,顺序贪心匹配. 二叉树 每个节点两种情况,选一个儿子往上算贡献,两个儿子合成一条链. 于是可以将两种做法结合 对于每个节点,往上算贡献.贪心匹配两个儿子 至于实现,可以考虑 \(multiset\) ,也可以排序+二分 时间复杂度 \(O(n\log^2n)…
[LG5021][NOIP2018]赛道修建 题面 洛谷 题解 NOIP之前做过增强版还没做出来\(QAQ\) 一看到题目中的最大值最小,就很容易想到二分答案 重点是考虑如何\(check\) 设\(dp[x]\)表示在\(x\)的子树中未被选过的权值最大的路径权值为多少 对于其子节点\(v\),它满足\(f[v] + cost[u][v] >= mid\)就可以选择 否则再选一条路径和它拼在一起即可 这个过程开个\(multiset\)可以较简单地做 复杂度\(O(nlog_n^2)\)(常数…
\(\mathcal {NOIP2018}\) 赛道修建 - 竞赛题解 额--考试的时候大概猜到正解,但是时间不够了,不敢写,就写了骗分QwQ 现在把坑填好了~ 题目 (Copy from 洛谷) 题目描述 C 城将要举办一系列的赛车比赛.在比赛前,需要在城内修建 \(m\) 条赛道. C 城一共有 \(n\) 个路口,这些路口编号为 \(1,2,...,n\),有 \(n-1\) 条适合于修建赛道的双向通行的道路,每条道路连接着两个路口.其中,第 \(i\) 条道路连接的两个路口编号为 \(a…
题目描述 C 城将要举办一系列的赛车比赛.在比赛前,需要在城内修建 mm 条赛道. C 城一共有 nn 个路口,这些路口编号为 1,2,…,n1,2,…,n,有 n-1n−1 条适合于修建赛道的双向通行的道路,每条道路连接着两个路口.其中,第 ii 条道路连接的两个路口编号为 a_iai​ 和 b_ibi​,该道路的长度为 l_ili​.借助这 n-1n−1 条道路,从任何一个路口出发都能到达其他所有的路口. 一条赛道是一组互不相同的道路 e_1,e_2,…,e_ke1​,e2​,…,ek​,满…
题目描述 C 城将要举办一系列的赛车比赛.在比赛前,需要在城内修建 mm 条赛道. C 城一共有 nn 个路口,这些路口编号为 1,2,…,n1,2,…,n,有 n-1n−1 条适合于修建赛道的双向通行的道路,每条道路连接着两个路口.其中,第 ii 条道路连接的两个路口编号为 a_iai​ 和 b_ibi​,该道路的长度为 l_ili​.借助这 n-1n−1 条道路,从任何一个路口出发都能到达其他所有的路口. 一条赛道是一组互不相同的道路 e_1,e_2,…,e_ke1​,e2​,…,ek​,满…
这道题有一点点树上dp的意思(大佬轻喷 我刚拿到这道题的时候毫无头绪,只知道这道题要二分答案 为什么是二分答案??? 题目: 目前赛道修建的方案尚未确定.你的任务是设计一 种赛道修建的方案,使得修建的 m 条赛道中长度 最小的赛道长度最大(即 m 条赛道中最短赛道的 长度尽可能大) 通常情况下出现 最小的--最大 或者 最大的--最小 时就是二分答案. 如何二分答案??? 这道题问的是最小的长度最大, 那一定是 二分长度, 即我们可以先设开始时 l = 0, r = 最大值 mid = (l +…