輸入格式:
輸出格式:
輸入樣例#1:
4 2 5輸出樣例#1:1 2 6 5
1 3 3 1
2 3 9 4
2 4 6 1
6solution:本題貪心+並查集。1 1
2 1
4 1
首先求最大值的最小值,顯然需要二分答案,問題就是如何check,對於本題要構造一棵生成樹,不一定是最小生成樹但必須滿足最大值最小,所以我們直接$o(n)$掃一遍所有的邊,先把滿足c1的限制的邊都加入並查集且判斷是否至少有k條邊,再去判斷c2的限制,判斷能否形成生成樹就好了。
**:
/*code by 520 --8.19
*/#include
#define il inline
#define ll long long
#define for(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)
#define bor(i,a,b) for(int (i)=(b);(i)>=(a);(i)--)
using
namespace
std;
const
int n=10005
;int n,m,k,fa[n],ans[n<<1
];struct
node e[n
<<1
];int
gi()
int find(int x)
il bool check(int
x)
if(totreturn0;
for(i,
1,m) if(e[i].c2<=x)
return0;
}il
void print(int
x) for(i,
1,m) if(e[i].c2<=x)
}
il void
init()
printf(
"%d\n
",pp),print(pp);
for(i,
1,m) if(ans[i]) printf("
%d %d\n
",i,ans[i]);
}int
main()
HNOI2006 公路修建問題
time limit 10 sec memory limit 162 mb submit 2543 solved 1468 submit status discuss oi island是乙個非常漂亮的島嶼,自開發以來,到這兒來旅遊的人很多。然而,由於該島嶼剛剛開發不久,所以那裡的交通情況還是很糟糕...
bzoj1196 HNOI2006 公路修建問題
oi island是乙個非常漂亮的島嶼,自開發以來,到這兒來旅遊的人很多。然而,由於該島嶼剛剛開發不久,所以那裡的交通情況還是很糟糕。所以,oier association組織成立了,旨在建立oi island的交通系統。oi island有n個旅遊景點,不妨將它們從1到n標號。現在,oier as...
1196 HNOI2006 公路修建問題
oi island是乙個非常漂亮的島嶼,自開發以來,到這兒來旅遊的人很多。然而,由於該島嶼剛剛開發不久,所以那裡的交通情況還是很糟糕。所以,oier association組織成立了,旨在建立oi island的交通系統。oi island有n個旅遊景點,不妨將它們從1到n標號。現在,oier as...