CF455C Civilization | luogu HXY造公园】的更多相关文章

题目链接: https://www.luogu.org/problemnew/show/P2195 http://codeforces.com/contest/455/problem/C 显然我们可以想到要用并查集来维护联通节点的信息. 然后题目要求的是合并之后树的直径最小. 然后我们可以知道在两个树的中点合并是最好的.所以我们设\(len[i]\)为i所在树的直径,那么按照上述策略,合并\(i,j\)之后新树的直径就是\(max(len[i],len[j],(len[i]+1)/2+(len[…
P2195 HXY造公园 题目描述 现在有一个现成的公园,有\(n\)个休息点和\(m\)条双向边连接两个休息点.众所周知,\(HXY\)是一个\(SXBK\)的强迫症患者,所以她打算施展魔法来改造公园并即时了解改造情况.她可以进行以下两种操作: 1.对某个休息点\(x\),查询公园中可以与这个点互相到达的休息点组成的路径中的最长路径. 2.对于两个休息点\(x\).\(y\),如果\(x\),\(y\)已经可以互相到达则忽略此次操作.否则,在\(x\)可到达的所有休息点和\(y\)可到达的所有…
P2195 HXY造公园 题目描述 现在有一个现成的公园,有n个休息点和m条双向边连接两个休息点.众所周知,HXY是一个SXBK的强迫症患者,所以她打算施展魔法来改造公园并即时了解改造情况.她可以进行以下两种操作: 1.对某个休息点x,查询公园中所有经过该休息点的路径中的最长路径. 2.对于两个休息点x.y,如果x,y已经可以互相到达则忽略此次操作.否则,在x可到达的所有休息点和y可到达的所有休息点(包括x,y自身)分别选择一个休息点,然后在这两个休息点之间连一条边,并且这个选择应该满足对于连接…
题目链接:https://www.luogu.org/problemnew/show/P2195 fir.吐槽题目(省略1w字 sec.考虑对一个森林的维护,每棵树用并查集维护. 操作1:输出当前查询点的树的直径 操作2:对于两条直径连接起来最短,肯定是连两个中点(显而易见 thi.小trick:重复利用vis数组-变成int,这样对于每棵树实际每个根不一样标号时的vis值也不同 #include <queue> #include <cstdio> #include <cst…
天哪这道题竟然只有一篇题解! emm,首先读题看完两个操作就已经有很明确的思路了,显然是并查集+树的直径 一波解决. 并查集不多说了,如果不了解的可以看这里. 树的直径的思路很朴实,就是两边DFS(BFS也OK).具体先随便找一个节点,然后搜一遍,找到最远的,然后再搜一遍,这样合在一起就一定是最长的了. 不过呢这道题还是注意一下求直径的公式,具体如下: $D_new=max(D_u,D_v,[D_u/2]+[D_v/2]+1)$ 那个方括号指的是取整(没找到在哪里打出来). en除此之外好像没什…
题面 传送门:https://www.luogu.org/problemnew/show/P3953 Solution 这是一道神题 首先,我们不妨想一下K=0,即求最短路方案数的部分分. 我们很容易可以想到一个做法,就是魔改迪杰斯特拉做法: 如果一个点可以更新到达其他点的距离,那个点的方案数就是这个点的方案数:如果一个点所更新出来的距离和之前的相等,那个点的方案数加等当前点的方案数. 用式子可以表现为: f[j]=f[i] (dis[j]>dis[i]+x)   f[j]+=f[i] (dis…
CF456E Codeforces Round #260 (Div. 1) C Codeforces Round #260 (Div. 2) E http://codeforces.com/contest/455/problem/C C. Civilization time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Andrew p…
题目链接:https://www.luogu.org/problemnew/show/P3953 题外话:感觉2017年神题好多..这还不是最神的一道,真在考场上我也就写个最短路计数暴力了.现在在大佬们的帮助下算是理解了些. 方便起见,均设路径为 u->v 权值为w 首先,看到这个题,我们想到的是最短路计数. 最短路计数的转移是什么? $ if(dis[v] == dis[u] + e[i].len) ans[e[i].to] = (ans[e[i].to] + ans[now]); $ $ i…
noip2017 D1T3 逛公园 某zz选手看到数据范围直接就最短路计数了,结果写错了爆零 题目大意: N个点M条边构成的有向图,且没有自环和重边.其中1号点是起点,N号点是公园的终点,每条边有一个非负权值, 代表经过这条边所要花的时间 如果1号点到N号点的最短路长为d,那么策策只选择长度不超过d + K的路线 求总共有多少条满足条件的路线 为避免输出过大,答案对P取模. 如果有无穷多条合法的路线,请输出−1 思路: 首先需要求出最短路用spfa 然后我们dfs的时候dp 具体见注释 #inc…
P3953 逛公园 题面 题目描述 策策同学特别喜欢逛公园.公园可以看成一张 \(N\) 个点 \(M\) 条边构成的有向图,且没有自环和重边.其中 \(1\) 号点是公园的入口,\(N\) 号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要花的时间. 策策每天都会去逛公园,他总是从 \(1\) 号点进去,从 \(N\) 号点出来. 策策喜欢新鲜的事物,它不希望有两天逛公园的路线完全一样,同时策策还是一个 特别热爱学习的好孩子,它不希望每天在逛公园这件事上花费太多的时间.如果 \(…