UVA Live 6437 Power Plant 最小生成树】的更多相关文章

题意: 有许多油井和村庄什么的,让你使得这些村庄能连通一个油井就好了.第一行给你一个数字T代表有T组测试数据,第二行有 M , N , K ,M代表包括油井在内的村庄数,N 代表有N个 两两连通的地方.K代表有K个油井.接下来有N行,每行三个数 u , v, w, 代表 u 号和 v 是连通的 权值为 w. 思路: 以往做的题目都是只有一个源点,这道题油井的数目就是源点,所以源点不唯一.但是不要想复杂啦.其实一开始直接让所有源点并在一.再求最小生成树就好了. 代码: import java.ut…
还是裸的最小生成树 #include<bits/stdc++.h> using namespace std; int T,N,M,P,K,a,b,c; int dist[1020],m[1020][1020]; bool p[1020]; void prim() { for(int i=1;i<=N;i++) { if(!p[i]) { int Min=1000020; for(int j=1;j<=N;j++) { if(p[j]&&m[i][j]!=0&…
题目传送门:[UVALive 6437]Power Plant 题目大意:T组数据,给定一幅带权图(n, m), 然后给定k个点, 与图中存在有若干条边.每个点都要至少要和这k个点的一个点直接或间接相连, 问最少的距离是多少. 1 ≤ T ≤ 100: 因为除了这k个点,其他的点是一个连通块,所以当前这个k点与其相连,我们并不需要知道原图中的点和i-k中哪个点相连,所以我们可以做一个超级汇点,让所有加的边与K相连: 即做了一个缩点的操作):做一遍最小生成树,那么这k个点必定会被选到: #incl…
[CF434D]Nanami's Power Plant 题意:有n个二次函数$y=a_ix^2+b_ix+c_i$($a_i,b_i,c_i$是整数),第i个函数要求x的取值在$[l_i,r_i]$之间且为整数.你需要确定每个函数的x的取值,使得所有函数的函数值之和最大.还有m个限制,每条限制形如$u,v,d$,表示$x_u\le x_v+d$.求最大函数值之和. $n\le 50,m\le 100,-100\le l_i\le r_i\le 100$ 题解:傻逼了连切糕都忘了. 对于一个方程…
D - Nanami's Power Plant 思路:类似与bzoj切糕那道题的模型.. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII pair<int, int> #defin…
There are N (1 ≤ N ≤ 105) cities on land, and there are N - 1 wires connecting the cities. Therefore, each city can transmit electricity to all other cities by these wires. Dark_Sun made a decision to build a nuclear power plant to supply electricity…
[Codeforces 1245D] Shichikuji and Power Grid (最小生成树) 题面 有n个城市,坐标为\((x_i,y_i)\),还有两个系数\(c_i,k_i\).在每个城市建立发电站需要费用\(c_i\).如果不建立发电站,要让城市通电,就需要与有发电站的城市连通.i与j之间连一条无向的边的费用是\((k_i+k_j)\)*两个城市之间的曼哈顿距离.求让每个城市都通电的最小费用,并输出任意一个方案. 分析 把选每个点的代价转成虚拟原点到这个点的边,这个套路很常见,…
The Department of National Defence(DND)wishestoconnectseveral northern outposts by a wireless network. Two different communication technologies are to be used in establishing the network: every outpost will have a radio transceiver and some outposts…
题意:平面上有n个点(1<=N<=1000),你的任务是让所有n个点连通,为此, 你可以新建一些边,费用等于两个端点的欧几里得距离的平方.另外还有q(0<=q<=8)个套餐(数量小,可枚举),可以购买,如果你购买了第i个套餐,该套餐 中的所有结点将变得相互连通,第i个套餐的花费为ci. 分析:按照刘汝佳的思路做的.首先求一次本身的最小生成树值,然后枚举购买的套餐(二进制枚举),每次购买了之后,将其权值设为0,并且加进最小生成树. #include<cstdio> #in…
买还是建 紫书P358 [题目链接]买还是建 [题目类型]最小生成树 &题解: 这题真的心累,看了3天,最后照着码还是wa,先放lrj代码,以后再看吧 &代码: // UVa1151 Buy or Build // Rujia Liu #include <cstdio> #include <cmath> #include <cstring> #include <vector> #include <algorithm> using…