上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页
摘要: 这题就是稠密图,所以我们就用Prim。然后题中要求的是需要新建的路的最小值,所以已经建成的路,我们直接使用就可以了,把它设置为0,然后走这条路就是最短的。这题还是多组输入输出,所以还是用while循环输入。#include int map[105][105]... 阅读全文
posted @ 2019-02-15 18:01 xyee 阅读(176) 评论(0) 推荐(0)
摘要: 这题kruscal跑的好快,嗯,就是一道板子题,很简单。输入的话,输入看着很繁琐,所以就用了cin。#include #include using namespace std;struct Edge { int f, t, c; bool ope... 阅读全文
posted @ 2019-02-15 17:06 xyee 阅读(103) 评论(0) 推荐(0)
摘要: 这个就像vector一样,不过有些题可能会卡STL,所以我们就模拟一个vector。head[i]的意思就是以点i为终点的上一条边的编号,edge[i].next就是与边i有着共同出发点的另外一条边的编号,只要照着vector来理解就行了。下面是代码和图示:... 阅读全文
posted @ 2019-02-14 14:01 xyee 阅读(377) 评论(0) 推荐(1)
摘要: 这题和以往的求最短路的题目略微有点不一样,以往求的都是最小的,这题求的是大的,而且还是乘法。我们求的时候初始化的时候就要进行相反的初始化了,把它们初始化为0,然后比较大的就更新。因为这题的点少边多,所以spfa会比较好,我们对于每种货币都跑一遍,如果其中任何... 阅读全文
posted @ 2019-02-13 19:51 xyee 阅读(175) 评论(0) 推荐(0)
摘要: 这题就是最小生成树Prim,d[]代表的是整个连接集合和未连接点的最小距离。#include int map[105][105];int vis[105], d[105];const int INF = 0x3f3f3f3f;int n,ans;void P... 阅读全文
posted @ 2019-02-13 12:10 xyee 阅读(114) 评论(0) 推荐(0)
摘要: 这题就是kruscal,我们最后判断一下是否连通就行了。直接看pre数组,里面有根节点,超过一个就说明不连通,输出问号就可以了。#include #include using namespace std;int pre[110], res, m, n;str... 阅读全文
posted @ 2019-02-13 11:30 xyee 阅读(134) 评论(0) 推荐(0)
摘要: 这是一道简单的深搜题目,题意说的是给一个5*5的棋盘,里面填满数字,然后跳到一个格子上,这是第一步,接着向上下左右四个方向任意一个方向走一步,一共走6步,问我们走过的数字组成的一个6位数有多少种不同的方案。那这就是一个集合嘛,集合中没有相同的元素,直接输出集... 阅读全文
posted @ 2019-02-12 18:02 xyee 阅读(177) 评论(0) 推荐(0)
摘要: 这里参考了一位大神的代码,写法很简洁,思路其实就是这样,学过先中后序遍历的人,基本上都能看懂。每次进入递归程序之后,就找到根节点,然后把左子树传给递归程序,然后把右子树传给子递归程序,然后输出这个根节点。#include #include using nam... 阅读全文
posted @ 2019-02-12 16:50 xyee 阅读(129) 评论(0) 推荐(0)
摘要: 我们读入的时候,要考虑重边的问题,我们只取边的最小值就可以了。#include #include const int INF = 0x3f3f3f3f;int map[105][105];int n,m;int min(int x,int y){ re... 阅读全文
posted @ 2019-02-12 12:33 xyee 阅读(178) 评论(0) 推荐(0)
摘要: 这题的话我们读入可以用cin这样避免混合输入时的错误,虽然慢一点点,但是我们也可以关闭和stdio 的同步,这样就不慢了。对于主函数来说,查询的时候,如果两个名字都不存在,那么find(0)==find(0),那就会输出yes,所以对于有任意一个为0的情况,... 阅读全文
posted @ 2019-02-12 12:30 xyee 阅读(160) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页