![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【算法】树的直径
文章平均质量分 88
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【USACO】2018 February Contest, Platinum题解
【比赛经历】看完T1先写了一个\(O(NM)\)的暴力,交一发,得分5/10,说明正确地理解了题意。感觉T1码量挺大的,于是先放了一下。T2是傻题,看完10min写掉了,得分10/10。回过头来把T1的线段树码了,一遍写对,不用痛苦地调这个鬼题,提交,得分10/10,跑了1.8s,果然STL不能乱用,差点T了。时间一共过了1.5h-。再看T3,先写了个暴力,找了找规律(还试了试OEIS),然后发现...原创 2018-03-06 10:58:06 · 784 阅读 · 0 评论 -
【BZOJ5152】【UOJ347】【WC2018】通道
【题目链接】BZOJ UOJ【思路要点】首先,我们来考虑只有两棵树的情况。 我们枚举两个点在第一棵树上的LCA,那么这两个点应该位于LCA的不同的子树中,点对\((x,y)\)的价值应当为\(deptha_x+deptha_y-2*deptha_{Lca}+distb(x,y)\)。 对于第二棵树上的每一个点\(x\),新建\(x'\)与其相连,边权为\(deptha_x\...原创 2018-06-07 15:05:10 · 472 阅读 · 0 评论 -
【CodeForces】CodeForces Round #503 (Div. 1) 题解
【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**Elections 【思路要点】 考虑枚举111号党派最终的得票,剩余部分我们可以通过贪心解决: 对于每一个得票数高于111号党派的党派,贪心地改变其代价最小的若干投票。 然后贪心地改变所有投票中代价最小的若干投票来补足111号党派的得票。 ...原创 2018-08-15 15:30:37 · 398 阅读 · 0 评论 -
【LOJ2262】「CTSC2017」网络
【题目链接】点击打开链接【思路要点】首先,本题一点重要的观察是,新建的路径的两个端点必定在树的直径上,若一个方案新建路径的两个端点有一个不在直径上,我们令其向直径靠近,不会使答案变劣。因此,我们可以将直径拿出来考虑,令直径上点数为 tottottot ,每一个点为 posipos_iposi , posipos_iposi 与 posi−1pos_{i-1}posi−1 ...原创 2018-11-02 21:30:52 · 935 阅读 · 1 评论 -
【LOJ2722】「NOI2018」情报中心
【题目链接】点击打开链接【思路要点】考虑特殊性质 S2S2S2 ,如下图,可以发现两条蓝-绿路径形成的链并的大小的两倍为 两条链长之和 +++ 蓝点之间的距离 +++ 绿点之间的距离 。枚举蓝点的 LcaLcaLca ,即图中的红点,那么我们需要选出两个不属于同一个红点的子树的蓝点 a,ba,ba,b ,使得它们对应的绿点 pa,pbp_a,p_bpa,pb 满足最大的总...原创 2019-06-27 20:33:28 · 734 阅读 · 0 评论