Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 327680/327680 K (Java/Others) Total Submission(s): 2524    Accepted Submission(s): 760 Problem Description Genghis Khan(成吉思汗)(1162-1227), also known by his birth name Temujin(铁木真) and temple na…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4126 Genghis Khan the Conqueror Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 327680/327680 K (Java/Others) 问题描述 Genghis Khan(成吉思汗)(1162-1227), also known by his birth name Temujin(铁木真) and templ…
Genghis Khan the Conqueror Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 327680/327680 K (Java/Others) Total Submission(s): 1687    Accepted Submission(s): 501 Problem Description Genghis Khan(成吉思汗)(1162-1227), also known by his birth name…
题目请戳这里 题目大意:给n个点,m条边,每条边权值c,现在要使这n个点连通.现在已知某条边要发生突变,再给q个三元组,每个三元组(a,b,c),(a,b)表示图中可能发生突变的边,该边一定是图中的边.c表示该边新的权值,c只可能比原来的权值大.给的q条边发生突变的概率是一样的.求突变后连通n个点最小代价期望值. 题目分析:如果没有那条突变的边,就是求一个mst.但是因为有一条边要突变,每条边突变的概率相同,都为1/q.所以要枚举所有的q条边,求出该边突变后最小生成树代价.q条边分2类:一类是生…
题意: 给定n个点m条边的无向图. 以下m行给出边和边权 以下Q个询问. Q行每行给出一条边(一定是m条边中的一条) 表示改动边权. (数据保证改动后的边权比原先的边权大) 问:改动后的最小生成树的权值是多少. 每一个询问互相独立(即每次询问都是对于原图改动) 保证没有重边. 求:全部改动后的最小生成树权值的平均值. 思路: 首先跑一个最小生成树. 求得这个MST的权值 int mst; 对于每一个询问(u.v,dis); 若(u,v) 不是MST上的边,则此时的权值就是 mst 否则我们断开树…
思路:直接先求一下最小生成树,然后用树形dp来求最优值.也就是两遍dfs. #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #define Maxn 2010 using namespace std; struct Edge{ int u,v; double c; int operator <(const Ed…
题意: n个点,m个边,然后给出m条边的顶点和权值,其次是q次替换,每次替换一条边,给出每次替换的边的顶点和权值,然后求出这次替换的最小生成树的值; 最后要你输出:q次替换的平均值.其中n<3000,q<10000. 分析: 我们可以先求最小生成树,对于最小生成树的每一条边,我们要找到它的最佳替代边,使其价值最小. 具体实践方法: 树形dp,从每个点dfs一次,每次把i当成根,其余都是它的孩子,更新dp数组,对于i点为根的除j之外的所有的 子树中的所有点到j距离最小值.每次从一个点root开始…
Install Air Conditioning HDU - 4756 题意是要让n-1间宿舍和发电站相连 也就是连通嘛 最小生成树板子一套 但是还有个限制条件 就是其中有两个宿舍是不能连着的 要求所有情况中最大的那个 这是稠密图 用kruskal的时间会大大增加 所以先跑一遍prim 跑完之后对最小生成树里面的边去搜索(树形dp)我觉得dp就是搜索(虽然我菜到切不了dp题.) so dfs的过程我也叫做树形dp咯 dp[i][j]表示i和j不相连后 这两个部分距离最小的边 代码如下 #incl…
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5723 [题目大意] n座城市,m条路径,求解: 1.最短的路径和,使得n座城市之间直接或者间接连通 2.在路径和最短的情况下,求出任意两个城市之间的期望距离 [题解] 对于问题1,只需求出该图的最小生成树,边权和即答案,由于边权值唯一,因此不存在最小生成树多解的情况. 对于问题2,期望的通常求法为(任意两点之间的路径和)/(点对数) 那么问题就转化为任意两点间距离和的问题,我们按边考虑,对于每条…
#include<bits/stdc++.h> using namespace std; struct node{ int u, v, w, nex; bool gone; node(){} node(int a,int b,int c){ u = a;v = b;w = c;gone = false; } bool operator <(const node&a)const{ return w < a.w; } }; ; ; node Gra[maxE]; int dp[…