给定两个数 $d \le 500$ 和 $s \le 5000$,求最小的 $n$ 使得 $d|n$ 并且 $n$ 的各位数字之和为 $s$。 ...
分类:
其他好文 时间:
2020-07-16 21:11:17
阅读次数:
57
原题: 1956: 棋盘(chess) 时间限制: 1 Sec 内存限制: 256 MB 题目描述 有一个m × m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上、 下、 ...
分类:
其他好文 时间:
2020-07-16 00:08:22
阅读次数:
88
题目大意: 给你两个4*4的01矩阵A、B,要求你从矩阵A中将'1'移动若干步(移动即与相邻的'0'交换位置),变换为B,输出最小步数. 基本思路: 本题数据较小,固定为4*4,第一时间想到状压(2^16),用状压代替hash比较容易.由于要求最小步数,bfs扫描到B矩阵即可输出答案,复杂度远小于d ...
分类:
移动开发 时间:
2020-07-16 00:07:24
阅读次数:
90
输出二叉树中的叶子结点 void PreOrderPrintLeaves( BinTree BT ) { if( BT ) { if ( !BT-Left && !BT->Right )// 在二叉树的遍历算法中增加检测结点的“左右子树是否都为空”。 printf(“%d”, BT->Data ); ...
分类:
其他好文 时间:
2020-07-15 15:28:16
阅读次数:
72
递归(Recursion)算法思想递归算法是一种调用自身函数的算法(二叉树的许多性质在定义上就满足递归)。递归的基本性质就是函数调用,在处理问题的时候,递归往往是把一个大规模的问题不断地变小然后进行推导的过程。 举例:(汉诺塔问题)有三个塔 A、B、C,一开始的时候,在塔 A 上放着 n 个盘子,它 ...
分类:
编程语言 时间:
2020-07-14 00:42:37
阅读次数:
70
解题思路: 题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)。 BFS 通常借助 队列 的先入先出特性来实现。 算法流程:特例处理: 当树的根节点为空,则直接返回空列表 [] ;初始化: 打印结果列表 res = [] ,包含根节点的队列 queue = [r ...
分类:
其他好文 时间:
2020-07-14 00:36:31
阅读次数:
69
(要熟练!)(树的遍历) ##题目大意 (题目链接)https://pintia.cn/problem-sets/994805342720868352/problems/994805424153280512 题目大意:给出树的结构和权值,找从根结点到叶子结点的路径上的权值相加之和等于给定目标数的路径 ...
分类:
其他好文 时间:
2020-07-14 00:27:26
阅读次数:
59
BFS广度遍历代码模板 /** 广度遍历代码模板 */ public class TestBFS { public List<List<Integer>> bsf(TreeNode root) { // 如果节点为空 if (root == null) { return null; } List<L ...
分类:
其他好文 时间:
2020-07-13 18:26:06
阅读次数:
70
知识点: DP,差分,Bfs 原题面 双倍经验 P3943 星空。 将此题代码交过去可直接 AC,但 P3943 数据较弱,没有卡掉错误的背包解法。 完全背包解法错误原因 详见 题解 P3943 【星空】 - Epworth 的博客。 题意简述 给定一长度为 \(n\) 的 $0$ 串,给定 \(k ...
分类:
其他好文 时间:
2020-07-13 09:25:09
阅读次数:
65
BFS和DFS DFS遍历使用递归(隐式使用栈): void dfs(TreeNode root) { if (root == null) { return; } dfs(root.left); dfs(root.right); } BFS遍历使用队列 void bfs(TreeNode root) ...
分类:
其他好文 时间:
2020-07-12 22:04:02
阅读次数:
66