图论
文章平均质量分 71
dplovetree
华东师大 数据学院在读
展开
-
Codeforces Round #760 (Div. 3) G. Trader Problem
Codeforces Round #760 (Div. 3) G题意:你手里有nnn个物品,第iii个价值为aia_iai。另外mmm个物品,第iii个价值为bib_ibi。你可以把你手里的价值为xxx的物品与不属于你的价值不超过x+kx + kx+k的物品进行交换,交换后原本属于你的物品不再属于你并且可以在新的交换中被换回来,而作为交换,原本不属于你的那个物品现在属于你并且可以被用于新的交换中。现在有qqq次询问,给定kkk,求经过任意次数交换后属于你的物品的价值的最大值。思路一: 自己想的复杂原创 2022-02-23 21:22:04 · 385 阅读 · 0 评论 -
P3573 [POI2014]RAJ-Rally
P3573 [POI2014]RAJ-Rally题意:给定一个N个点M条边的有向无环图,每条边长度都是1。请找到一个点,使得删掉这个点后剩余的图中的最长路径最短。N,M(2<=N<=500000,1<=M<=1000000)N,M(2<=N<=500 000,1<=M<=1 000 000)N,M(2<=N<=500000,1<=M<=1000000)思路:转化一下问题,给定 一张DAG,对于每个点计算,删除该点,图上的最长原创 2022-02-16 16:33:59 · 343 阅读 · 0 评论 -
克鲁斯卡尔重构树
克鲁斯卡尔重构树用途用来维护图上两点,uuu到vvv的路径中,最大边权的最小值(或最小边权的最大值)实现像克鲁斯卡尔一样,先把边权排序,然后用并查集 建出一颗重构树,点权就是当前边的边权,然后再用树链剖分dfs两次,方便之后求lcalcalca;如果原图不是连通图,那么建出的就是重构森林,以每个连通块最后加入的点为根;如果原图是连通图,那么最后加入的节点,就是重构树的根。代码void work(){ cnt=n; for(int i=1;i<=n;i++)ff[i]=i; sort原创 2021-12-02 21:04:37 · 281 阅读 · 0 评论