CF1023F Mobile Phone Network

2021-04-24 23:27

阅读:536

标签:mem   name   one   wap   return   force   eof   inline   long   

Link
先让\(k\)条边的权值为\(0\)然后建出MST。
然后我们枚举非树边\((u,v,w)\),树上\(u,v\)间的路径上的边的边权都必须\(\le w\)
这个操作可以用并查集/树剖+线段树等数据结构维护。

#include
#include
#include
#include
#include
#include
#include
#define pi pair
namespace IO
{
    char ibuf[(1e[N];vector>E;
int dep[N],p[N],fa[N];
void dfs(int u,int d){dep[u]=d;for(auto[v,f]:e[u])if(!dep[v])p[v]=u*f,dfs(v,d+1);}
int find(int x){return fa[x]? fa[x]=find(fa[x]):x;}
int main()
{
    int n=read(),k=read(),m=read(),cnt=0;i64 ans=0;
    for(int i=1,u,v;i0) ++cnt,ans+=w;
        fa[u]=abs(p[u]);
    }
    cnt

CF1023F Mobile Phone Network

标签:mem   name   one   wap   return   force   eof   inline   long   

原文地址:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12232345.html


评论


亲,登录后才可以留言!