上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页
摘要: 思路 这题的意思是,如果丢失一个城市会导致其他的城市分裂,就发出红色警报。 也就是说如果某块联通的城市,假设其中的某个节点A是中心节点,如果城市A失陷,那么其他城市将不再联通,这样输出红色警报。 每次都跑一遍并查集看看有几个不同的联通块,即使每个点都失陷,最大的复杂度也不超过2500000(2.5 阅读全文
posted @ 2020-02-18 22:05 xyee 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 思路 这题非常像是最长上升子序列,这题为什么这么写我也说不上来,我们把队列建成递增子序列,这样每次拿新数和各队列尾最小值比较,如果小于队列尾部的最小值就可以放入这个队列。 这样做的道理,简单来说就是如果没有一个小的数挡住大的数,那么我们就可以按照题目的要求输出一个队列。 代码 阅读全文
posted @ 2020-02-18 21:44 xyee 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 思路 注意读入和输出格式 如果用fgets读入的话会带上回车,输出的时候一定不要输出了双回车 并且此时的length也会比原始长度多了一,要注意长度比较,这里容易出错 代码 阅读全文
posted @ 2020-02-18 16:26 xyee 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 思路 这题不用题解吧 代码 阅读全文
posted @ 2020-02-18 16:07 xyee 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 思路 这题代码长,其实只是懒,没有把重复的代码写成函数。 只用建堆,循环判断就可以了。 循环判断是为了避免数的重复,判断每一中可能的情况是否为真。 代码 阅读全文
posted @ 2020-02-18 11:08 xyee 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 这个太简单了,没有题解。 阅读全文
posted @ 2020-02-18 09:48 xyee 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 思路 这题就是一道裸的dijkstra,但是一定要注意是能传到的其他点的最大值,如果只能传到自己,这时候应该返回一个0。 代码 阅读全文
posted @ 2020-02-17 22:40 xyee 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题解 判断一棵树是否是完全二叉树: 取队列的头,将头的左右孩子入队,循环每次判断是否为空,如果为空节点,此时退出循环。 然后检查队列中的元素是否全部为空,如果是则说明是完全二叉树,否则不是。 代码 阅读全文
posted @ 2020-02-17 21:52 xyee 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 思路 这题我用了两种写法,我们把数据分层读入就可以调用两次dijkstra而不用重写了。 第一种是优化的dijkstra,Node节点中只放id和dis的原因是,没有必要放cost,也就是题中的第二个排序的权值。 对于点A来说,假设B、C两点的dis相同,但是cost[b] using namesp 阅读全文
posted @ 2020-02-17 16:25 xyee 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 思路 这题用并查集+set就可以过,题中说两个人不可能既是朋友,又是敌人的意思是数据中不会让两个人的关系既是朋友关系,又是敌人关系,但是如果两个人是敌人,但是有共同的朋友,也可以是朋友+敌人的关系。 最开始我只用set写的,但是错了,想用set模拟并查集,但是发现好像只有暴力具有正确性。 代码 阅读全文
posted @ 2020-02-16 17:19 xyee 阅读(204) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页