BZOJ:3832: [Poi2014]Rally】的更多相关文章

题意: 给出$DAG$,询问删掉哪个点之后最长路径最短 思路: 我们令$f[x]$表示从最远的点到达它的距离,$g[x]$表示它能够到达最远的点的距离 那么对于$(x -> y)$一条边来说,它所在的最长路径就是 $f[x] + 1 + g[y]$ 我们按照拓扑序依次删点 我们发现此时删去一个点,那么可能存在的最长的路径是 和它同一层的点所在的路径,以及它前一层的点所在的路径,以及它后一层的点所在的路径 因为它只会影响到它前一层的点和后一层的点 那么我们删去它所有入边的贡献,以及它本身的$g[x…
题意 \(n(2 \le n \le 500000)\)个点\(m(1 \le m \le 1000000)\)条边的有向无环图,找到一个点,使得删掉这个点后剩余图中的最长路径最短. 分析 神题不会做. 题解 首先我们新建个源\(s\)和汇\(t\),连边\(s->i, i->t\),最远距离分别为\(d[i, 0]\)和\(d[i, 1]\),则一个图中的最长链就是\(max(d[u, 0]+d[v, 1]-1, \exists edge(u, v))\),再由于图中任意一个\(s-t\)割…
3832: [Poi2014]Rally 链接 分析: 首先可以考虑删除掉一个点后,计算最长路. 设$f[i]$表示从起点到i的最长路,$g[i]$表示从i出发到终点的最长路.那么经过一条边的最长路就是$f[u]+1+g[v]$. 删除一个点x后,会使一些路径没了.考虑这些路径的特点.我们它比x拓扑序小的设为集合S,拓扑序大的设为T. 1.如果以前的一条路径经过x,那么去掉x后,考虑如何去掉这些路径的影响.只需将x的入边删掉就行了. 2.那么如何统计新的答案,并且新的路径不能经过x.此处是一个有…
Sol 线段树+拓扑序. 先把图的拓扑序搞出来,然后统计从起点到该点最长链,从该点到终点的最长链,然后建个起点终点,这里跟网络流很像,把它统一到一个有起点的图中,这里也要注意下细节处理.S,T的一个边割掉后最长链就是答案. 然后一开始所有点都在T的集合中,一个个将点加入S集合,用线段树维护每个节点 (从起点到该点最长链+从终点到该点的最长链)的长度,其实就是一个权值线段树,然后就是加加减减的... Code /*******************************************…
[BZOJ3832][POI2014]Rally(拓扑排序,动态规划) 题面 BZOJ,权限题 洛谷 题解 这题好强啊,感觉学了好多东西似的. 首先发现了一个图画的很好的博客,戳这里 然后我来补充一下这题到底怎么做. 首先这个图是一个\(DAG\),我们对其进行拓扑排序,设\(f[i]\)表示以\(i\)开头的最长链长度,\(g[i]\)表示以\(i\)结尾的最长链长度,那么经过某条边\(u\rightarrow v\)的边贡献的最长路的贡献就是\(g[u]+f[v]+1\). 我们发现,如果我…
bzoj:3441 乌鸦喝水 题目传送门 Description 一只乌鸦在自娱自乐,它在面前放了n个有魔力的水缸,水缸里装有无限的水. 他准备从第1个水缸飞到第n个水缸,共m次.在飞过一个水缸的过程中,如果他能够得着水缸里的水,即水缸口到水面距离小于等于乌鸦能够得着的深度,那它就会喝水缸里的水.每喝一次水,所有水缸里的水位都会下降,第i个水缸里的水位会下降Ai,注意喝水是瞬间的,如果乌鸦刚好够得着,但喝完之后够不着,也视为喝到一次,水位也会相应的下降. Input 共有3行.第一行有三个正整数…
题意 \(n(1 \le 1000000)\)个点的有根树,\(1\)号点为根,\(q(1 \le 1000000)\)次询问,每次给一个\(k\),每一次可以选择\(k\)个未访问的点,且父亲是访问过的,要求最少次数访问完所有的点. 分析 神题不会做. 题解 得到一个式子\(ans=max(i+ \left \lceil \frac{s[i]}{k} \right \rceil), 0 \le i \le maxh\),其中\(maxh\)是最大深度,\(s[i]\)是深度大于\(i\)的点的…
http://www.lydsy.com/JudgeOnline/problem.php?id=3834 题意:求$max\{(i,j)\}, smin<=i<=smax, wmin<=i<=wmax$,其中$smin<=smax<=10^9, wmin<=wmax<=10^9$,有$N<=1000$组数据 #include <bits/stdc++.h> using namespace std; int main() { int cs,…
题目描述 An annual bicycle rally will soon begin in Byteburg. The bikers of Byteburg are natural long distance cyclists. Local representatives of motorcyclists, long feuding the cyclists, have decided to sabotage the event. There are   intersections in B…
OJ题号:BZOJ3832.洛谷3573 思路: 建立超级源汇$S$和$T$,DP求出分别以$S$和$T$为源点的最长路$diss$和$dist$. 对于每条边$i$,设定一个权值$w_i=diss_{i.from}+dist_{i.to}-1$. 表示原图中包含这条边的从$S$到$T$的最长路. 然后按照拓扑序删点$x$,用堆维护不包含$x$的最长路长度. 然而一次性不能把所有边放进去,不然会MLE一个点(因为这个调了一个晚上). 应该在换$x$的时候,把老$x$的出边重新加入,并将新$x$的…