一、问题: 输入: 6 70 1 1 1 0 0 10 0 1 0 0 0 00 0 0 0 1 0 00 0 0 1 1 1 01 1 1 0 1 0 01 1 1 1 0 0 0 输出: 4 代码: #include<iostream> #include<algorithm> #include< ...
分类:
其他好文 时间:
2020-02-28 18:41:39
阅读次数:
69
负环 https://www.luogu.com.cn/problem/P3385 使用BFS的SPFA算法和普通的SPFA没有什么区别,我们如何判断有没有负环呢?我们有两种判法. 1.记录此点被更新了多少次,更新次数大于N就有负环.这意味着一个点被重复迭代超过N次,显然有负环. 2.记录从S到当前 ...
分类:
其他好文 时间:
2020-02-28 01:31:49
阅读次数:
73
Q:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 A:BFS,偶数层reverse Q:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 A:BFS,比上面还简单,不用reverse( ...
分类:
其他好文 时间:
2020-02-27 19:19:16
阅读次数:
59
首先提取题目信息,我们需要计算朋友的关系,以及计算不开心值。 其实看题目我们很容易就有并查集的感觉,之后我们要去验证这个算法是正确的 题目要求的是求不开心值,那么我们就可以想到使用并查集求集合总数就可以了 虽然朋友不存在传递性,但是这并不影响不开心值的大小,因为如果a和b是朋友,b和c是朋友 那么虽 ...
分类:
其他好文 时间:
2020-02-25 21:45:31
阅读次数:
105
但是我们还不是很清楚每一次的状态怎么储存?我们可以用一个结构体,将每次的位置存起来,但是这个程序中用了一个更好的储存方法:我们知道最大的格数是16*16个,也就是256个,那么我们转换为二进制表示就是8位数,那么我们可以使用24位的二进制表示啊!然后我们再进行解压缩,所以这就是很神奇的地方! 普通B ...
分类:
其他好文 时间:
2020-02-24 20:33:32
阅读次数:
90
BFS 求最小 基迭代,不会爆栈 Flood fill算法: 可以在线性时间复杂度内,找到某个点所在的连通块。 //Home键到行首,End键到行尾 AcWing 1097. 池塘计数 AcWing 1098. 城堡问题 AcWing 1106. 山峰和山谷 最短路模型: 所有边权相等时,可以在线性 ...
分类:
编程语言 时间:
2020-02-24 18:54:18
阅读次数:
149
题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 题解一:BFS 1 public static ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { 2 ArrayList<ArrayList<Integer>> re ...
分类:
其他好文 时间:
2020-02-24 14:44:29
阅读次数:
62
"题目链接" 本题也是区间dp,贪心可证,每一次出发必定是从端点,否则必然有重复,不会是最小值,那我们可以设dpi,j,0/1,0代表从左端点出发,1代表从右端点,因为每次都是从端点出发,状态方程为 dpi,j,0=min(dpi+1,j,0+d[i+1] d[i], dpi+1,j,1+dp[j] ...
分类:
其他好文 时间:
2020-02-24 13:13:18
阅读次数:
64
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 题解:BFS 主要的方法与BFS写法没什么区别 BFS里是每次只取一个,而我们这里先得到队列长度size,这个size就是这一层的节点个数,然后 ...
分类:
其他好文 时间:
2020-02-24 12:47:15
阅读次数:
79
"D:收集纸片" 考察点 : 全排列,对数据范围的估计程度 坑点 : 注意算最后回到初始的那步距离 析题得侃 : 一看题目最短路,诶呦,这不是最拿手的 BFS 走最短路吗?哈哈,定睛一看 这么多目的地,这还走个茄子,但是看看这道题的数据范围, 10,这不就完完 全全的可以暴力一发了,怎么暴力呢 ? ...
分类:
其他好文 时间:
2020-02-23 22:19:22
阅读次数:
70