摘要: 和上一题基本一致。求解除了用了无限发射的城市最小生成树中最长的那一条边。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #define INF 0x7fffffff11 #define LEN 101012 using namespace std;13 14 typedef struct{double x, y;}POINT;15 typedef struct {int a, b;double v;}ARC;16... 阅读全文
posted @ 2013-11-25 19:23 张小豪 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 这道题是最小生成树树的变形。题目告诉你在其中已经添加过了一些边,在剩下的边中选取若干条使其成为一个最小生成树。我记得上一次做真题是遇到类似的问题。我用了prime算法求解。现在就换用了kruskal算法。根据查询选把相应边合并,这些边不算入虽小生成树的权值即可,接下来的就和kruskal算法一致。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define INF 0x7fffffff 8 #define LEN 1010 9 using namespace std;10 11 t... 阅读全文
posted @ 2013-11-25 16:06 张小豪 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 求解从一个定点到另一个定点经过的路径中的最长边权值。这道题是floyd算法的改进dis[i][j] = min(dis[i][j], max(dis[i][k], dis[k][j]));dp方程不难退出。但是我被细节问题卡了一节课。优势最后一组样例输出了空行0.0代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define LEN 1010 8 #define INF 0x7fffffff 9 using namespace std;10 11 int Map[LEN][LEN]... 阅读全文
posted @ 2013-11-25 09:41 张小豪 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Problem A Dima and GuardsDima需要贿赂一些宿舍阿姨,每个阿姨需要果汁与巧克力,每个都有一个最小值。只需要送给她的礼物中果汁的值或巧克力的值大于阿姨的最低值,阿姨就会接受礼物。Dima寝室楼一共有四个门,每个门上有两个阿姨把手。所以Dima需挑任意一个门即可。简单暴力题读懂题就ok了。n>=min(a, b)+min(c, d)时满足要求。接下来输出min(a, b)和n-min(a,b)即可注意题目中说了必须正好使用n元。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #incl.. 阅读全文
posted @ 2013-11-25 08:18 张小豪 阅读(362) 评论(0) 推荐(0) 编辑