思路:
AC代码:
#include "iostream"#include "string.h"#include "stack"#include "queue"#include "string"#include "vector"#include "set"#include "map"#include "algorithm"#include "stdio.h"#include "math.h"#pragma comment(linker, "/STACK:102400000,102400000")#define ll long long#define endl ("\n")#define bug(x) cout<<<" "<<"UUUUU"< =k) ans+=w*k; else ans+=w*siz[u];}void add(int u, int v, int w){ to[tot]=v; nex[tot]=head[u]; wi[tot]=w; head[u]=tot++;}int main(){ while(scanf("%d %d",&n, &k)!=EOF){ mem(head,-1),tot=0; int u,v; ll w; for(int i=1; i