8452: BZOJ4452:[Cerc2015]Export Estimate
Memory Limit:128 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
给你一个n个点m条边的无向图,每条边有权值,我们可以选择一个整数lim来生成一个新的图,过程如下: 1.先将原图中边权小于lim的边删掉 2.依次从1到n枚举每个点 (a)如果这个点没有边于它相连,这个点将会被删去 (b)如果这个点只与两条不相同的边x,y相连,设这两条边的另一个点分别为a,b,如果a,b和这个点都不相同(a,b可以相同),则依次做如下操作: (i)删去边x,y (ii)删去这个点 (iii)在a,b之间建立一条新的边 下面这个例子lim=95: 数据保证原图没有重边和自环,但不保证经过如上操作后的图没有重边和自环。 现在我们想知道当lim取若干值时,由原图生成的新图的点数和边数是多少。
输入格式
第一行两个数n,m,表示原图有n点m条边。 接下来m行,每行三个数a,b,c,表示a和b之间有一条边权为c的双向边。 接下来一行一个数q,表示有q次询问。 接下来一行q个数,k1,k2,...,kq。
输出格式
总共q行,每行两个数,表示lim取ki时,生成的新图的点数和边数
样例输入
Sample Input1: 6 7 1 2 20 2 3 80 2 5 100 3 5 50 3 4 100 5 6 90 4 6 100 4 25 75 85 95 Sample Input2: 10 14 2 7 150 1 2 100 2 3 150 3 1 200 1 4 60 4 5 20 2 5 100 5 6 90 6 7 120 7 5 130 6 8 50 8 9 200 9 10 200 10 7 200 5 300 50 95 100 110
样例输出
Sample Output1: 2 3 1 1 2 1 4 2 Sample Output2: 0 0 6 9 4 5 4 5 5 4 数据范围: 1<=n<=300000 1<=m<=300000 0<=c<=300000 1<=q<=300000 0<=ki<=300000
提示
没有写明提示
题目来源
没有写明来源