自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 ACM第四次练习—1008

题意:求一个图的最大联通子图,要求每个联通分量最多只有一个环,且所求的边的权值之和最大。思路:每输入一条边,判断此边两端点是不是在同一颗树上,如果在同一颗树上,判断树是不是有环,如果有环,则不加入此边,如果没环,加入此边(合并);如果两棵树都没有环,直接合并即可,如果只有一棵树有环,可以合并,并标记,如果都有环,显然不能合并。感想:贪心+并查集,贪心不难,并查集就~代码:#incl

2016-06-29 22:48:52 320

原创 ACM第四次练习—1011

题意:虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可不能浪费啊,一定要给自己好好的

2016-06-23 21:03:51 483

原创 ACM第四次练习—1006

题意:对给定的图,求出最小耗费的金额——最小生成树问题。思路:最开始的时候想用Kruskal算法,没做出来~而且Kruskal比起Prim来首先一点就是路径要排序了。接着开始用Prim,整个算法就是找一条路径如果他的一点是已搜到的一点是未搜到的且他在当前已生成的树的各点的选择中是最短的就用他。然而还是弄不出来,最后又回到Kruskal算法。把Kruskal算法基本思路贴在下面:Kruska

2016-06-20 17:40:49 317

原创 ACM第四次练习—1009

题意:在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。工作人员把上百件的衣服从商店运回到赛场,寻找最短的从商店到赛场的路线。思路和感想:刚开始最短路感觉挺难,问了下学长,又看了看群里的文件,然而我仍旧不明白,有好几种解法,都没有实践过,所以真的很难懂。这道题参考了下别人的代码,又重新看了PPT,对其他的解法也终于有所理解能运用了,这次用的是floyd解法,因为这个解法在用

2016-06-19 11:08:01 733

原创 ACM第四次练习—1005

题意:省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。思路:这个题和1004差不多,就是加了一个状态,可以先判断每条路的状态,如果是修好的,就让它们的成本是0;如果没修,就让成本给出的成本。这样问题的处理就和

2016-06-18 22:25:54 311

原创 ACM第四次练习—1004

题意:某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。思路:先用快排将所有路径按照从小到大的顺序排列,然后开一个节点标记数组,初始值定为1,将排在第一个的路径的前一个节点的标记设为0。之后进行计算,凡是前后

2016-06-16 21:33:27 558

原创 ACM第四次练习—1002

题意:求给定的点之间连通的最小距离。思路:最小生成树的算法,其核心是每次取最短的边,看该边相连的两点是否在同一个集合内,若在则跳过,若不在,就把两个点合并,判断与合并都用并查集实现。感想:开始的时候将边初始化成了0,懵逼了~代码:#include#include#include#includeint f[109];double x[109],y[109];s

2016-06-14 22:31:12 351

原创 ACM第四次练习—1001

题意:有n个村庄,编号1-n,以矩阵的形式给出任意两个村庄之间的距离,然后告诉已经有q个村庄已经修好了路,问现在要打算使所有村庄都联通需要修路的最小长度。思路:构造一棵最小生成树,所以将距离排序,从小到大依次并入,直到集合数为1为止。感想:这差不多是并查集入门级的题目了,然而我还是不会~代码:#include #include using namespace std

2016-06-13 17:39:56 342

原创 ACM第四次练习—1003

题意:现有城镇道路统计表,表中列出了每条道路直接连通的城镇。目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?思路:并查集的应用问题。使用并查集合并操作将全部城镇分为N个集合,每个集合中的城镇相互连通,所以至少需要N-1条道路便可以使N个集合连通。感想;图这部分也不简单~代码:#include"stdio.h

2016-06-12 11:09:31 298

原创 ACM第三专题—动态规划总结

一.概述  动态规划的基本思想:若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。 这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用。三大重要性质:

2016-06-02 11:07:00 665

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除