codeforces 757F Team Rocket Rises Again】的更多相关文章

链接:http://codeforces.com/problemset/problem/757/F 正解:灭绝树. mdzz倍增lca的根节点深度必须是1..我因为这个错误调了好久. 我们考虑先求最短路,求完最短路以后,我们就能对原来的无向图构造一个DAG.当我们构造完DAG以后,我们要求的东西已经很明显.那就是删掉一个点以后,最多有多少个点与S不连通.那么,我们按照套路,将DAG跑一遍拓扑排序,建出灭绝树.然后求出除了S点以外的最大size就行了. //It is made by wfj_20…
CF757F Team Rocket Rises Again 全体起立,全体起立,这是我A的第一道黑题(虽然是CF的): 来一波番茄攻击: 不扯淡了,这道题也是学习支配树(之前)应该做的题: 和灾难不同的是,那个是直接给你有向图,这里给的是无向图: 我们要求的是删除一个点会造成多少点的最短路发生变化,那么我们可以根据最短路再建一个有向图,这样就和灾难一样了: 很不幸,我建了四个图: 因为一开始写挂了所以图的编号是乱的:(这并不影响我AC)add是无向图,add2是有向图,add4是反图,add3…
Discription It's the turn of the year, so Bash wants to send presents to his friends. There are n cities in the Himalayan region and they are connected by m bidirectional roads. Bash is living in city s. Bash has exactly one friend in each of the oth…
\(\mathcal{Description}\)   link.   给定 \(n\) 个点 \(m\) 条边的无向图和一个源点 \(s\).要求删除一个不同与 \(s\) 的结点 \(u\),使得有最多的点到 \(s\) 的最短距离改变.求出此时最短距离改变的结点的数量.   \(n\le2\times10^5,m\le3\times10^5\). \(\mathcal{Solution}\)   首先,以 \(s\) 为源点跑一个单源最短路.设 \(s\) 到 \(u\) 的距离为 \(d…
我也想要皮卡丘 跑一遍dijkstra,可以建出一个最短路DAG(从S到任意点的路径都是最短路),然后可以在上面建支配树 并不会支配树,只能简单口胡一下在DAG上的做法 建出来的支配树中,某点的祖先集就是从S到该点的必经点集,也就是说,炸掉某点,这个子树都会变得angryunhappy 大概就是按拓扑序来建这个树,每条边(u,v)是要把fa[v]=lca(u,fa[v]),等到v的入度为零时,再用最终的fa[v]连到v上,然后给v做以后求lca时倍增的预处理 最后dfs算出来除S点的最大的子树大…
先跑spfa求出最短路构成的DAG,然后在DAG上跑出支配树dfs出size取max即可 关于支配树,因为是DAG,支配点就是入点在支配树上的lca,所以一边拓扑一边预处理倍增,然后用倍增求lca #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<vector> using namespace std; const int N=400005…
题意 建出最短路图(DAG)之后就跟这题一样了. code: #include<bits/stdc++.h> using namespace std; #define int long long #define pii pair<int,int> #define mkp make_pair #define fir first #define sec second const int maxn=2*1e5+10; const int maxm=3*1e5+10; int n,m,st…
codeforces 932E Team Work 题意 给定 \(n(1e9)\).\(k(5000)\).求 \(\Sigma_{x=1}^{n}C_n^xx^k\). 题解 解法一 官方题解 的做法,网上有很多,就不写了. 解法二 从组合数学的角度入手. 参考博客 我们可以这样理解这个式子 \(\Sigma_{x=1}^{n}C_n^xx^k\) :有 \(n\) 种小球,从中选出 \(x\) 种,再选出 \(k\) 个小球,这 \(k\) 个小球只能来自选定的 \(x\) 种类别.求方案…
Codeforces 932E Team work You have a team of N people. For a particular task, you can pick any non-empty subset of people. The cost of having x people for the task is xk. Output the sum of costs over all non-empty subsets of people. Input Only line o…
C. Team time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Now it's time of Olympiads. Vanya and Egor decided to make his own team to take part in a programming Olympiad. They've been best fri…