
回溯
JQW_YNU
无
展开
-
[LeetCode] Permutations 全排列
Given a collection of numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].图形化表述:解释:当第一次得到[1,2...原创 2018-11-23 17:56:18 · 850 阅读 · 0 评论 -
回溯法总结+四个小例题(装载问题,01背包,n后,最大团,m着色)
目录 回溯法的基本策略 回溯法的基本策略 回溯法的解空间 回溯法基本思想 回溯法解题步骤 递归回溯和迭代回溯 子集树和排列树 装载问题 01背包问题回溯法求解 n后问题 图的最大团问题 图的m着色问题 回溯法的基本策略策略:回溯法在问题的解空间树中,按深度优先搜索,从根节点出发搜索解空间。算法搜索至某一结点时,先判断该结点是否包含问题的解,如果肯定不包含,...转载 2018-11-28 19:53:00 · 1705 阅读 · 0 评论 -
蓝桥杯-第七届省赛javaA组-搭积木
搭积木小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法:01 23 4 56 7 8 903 17 5 29 8 6 4 请你计算这样的搭法一共有多少种?请填表示总数目的数字。注意:你提交...转载 2018-12-03 11:29:48 · 255 阅读 · 0 评论 -
蓝桥杯历届试题——取球游戏(博弈论)
取球游戏今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方为负方(输方) 请编程确定...转载 2018-12-03 13:51:59 · 543 阅读 · 0 评论 -
蓝桥杯第六届省赛JAVA真题----生命之树
生命之树在X森林里,上帝创建了生命之树。 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, …, vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。 在这个前提下,上帝要使得S中的点所对应的整数的和尽量大。...原创 2018-12-05 18:11:17 · 494 阅读 · 0 评论 -
第八届蓝桥杯国赛Java b组 填字母游戏
小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说:“我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”。K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。并且:1. 轮到某人填的时候,只能在某个空格中填入L或O2. 谁先让字母组成了“LOL”的字样,谁获胜。3. 如果所有格子都填满了,仍无法组成LOL,则平局。小明试验了几次都输了,他很惭愧,希望...原创 2018-12-03 17:29:59 · 547 阅读 · 0 评论 -
蓝桥-深度优先求连通性
给定一个方阵,定义连通:上下左右相邻,并且值相同。可以想象成一张地图,不同的区域被涂以不同颜色。输入:整数N, (N<50)表示矩阵的行列数接下来N行,每行N个字符,代表方阵中的元素接下来一个整数M,(M<1000)表示询问数接下来M行,每行代表一个询问,格式为4个整数,y1,x1,y2,x2,表示(第y1行,第x1列) 与 (第y2行,第x2列) 是否连通。连通输出...原创 2018-12-03 19:12:45 · 340 阅读 · 0 评论 -
蓝桥杯-迷宫问题(图)
...1111111111111111111111111111111.111111........1111111111.111111.111111..111.11111111.....111111.11111111111.1111111111.11111111.111111.................11111111.111111.11111111111.11111.111111...转载 2018-12-03 21:18:09 · 2970 阅读 · 1 评论 -
蓝桥-天秤称重问题
经典算法之天秤称重问题问题描述:已知所有砝码重量均为3的倍数,且所有重量的砝码有且只有一个要求输出1到n的所有物品的称重方式解题思路:物品重量 砝码1 12 3 - 13 34 3 + 15 9 - 3 - 1... ...经过对比发现,若物品重量刚刚超过了较大砝码的一半,则需要减去后一位数,反之则加. import...转载 2018-12-03 22:20:28 · 389 阅读 · 0 评论 -
蓝桥-分酒问题
3. 分酒问题有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现?本题就是要求你编程实现最小操作次数的...转载 2018-12-03 23:02:51 · 885 阅读 · 0 评论 -
博弈问题
http://weilog.lanqiao.org/2018/03/17/altraining_ep5/转载 2018-12-03 23:05:41 · 261 阅读 · 0 评论 -
0-1背包问题—回溯算法—java实现
0-1背包问题【问题描述】有n种可选物品1,…,n ,放入容量为c的背包内,使装入的物品具有最大效益。表示n :物品个数c :背包容量p1,p2, …, pn:个体物品效益值w1,w2, …,wn:个体物品容量【问题解析】0-1背包问题的解指:物品1,…,n的一种放法(x1, ···,xn的0/1赋值),使得效益值最大。假定背包容量不足以装入所有物品:面临选择【优...转载 2018-11-27 18:06:50 · 1153 阅读 · 0 评论 -
回溯法——八 / N 皇后问题
回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法指导思想——走不通,就...原创 2018-11-27 18:01:55 · 421 阅读 · 0 评论 -
搭积木+寒假作业+方格填数 DFS解法
蓝桥杯比赛关于 DFS 算法总结方法以及套路分析首先我们来看几道java A组的题目,都是同一年的哦!!!搭积木小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法: 0 1 2 3 4 56 ...原创 2018-12-04 21:36:21 · 582 阅读 · 0 评论 -
[LeetCode] Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.255.111.35"]. (Order does ...转载 2018-11-23 17:20:39 · 208 阅读 · 0 评论 -
[LeetCode] Combinations 组合项
问题这是一个组合问题:图形化表述代码:import java.util.List;import java.util.ArrayList;import java.util.LinkedList;/// 77. Combinations/// https://leetcode.com/problems/combinations/description//// 时间...原创 2018-11-23 19:59:40 · 326 阅读 · 0 评论 -
[LeetCode] Word Search
图形化表述:代码:public class liubobo_8_4 { /// 79. Word Search/// Source : https://leetcode.com/problems/word-search/description/////// 回溯法/// 时间复杂度: O(m*n*m*n)/// 空间复杂度: O(m*n) ...原创 2018-11-23 21:32:17 · 220 阅读 · 0 评论 -
[LeetCode] Number of Islands 岛屿的数量
测试数据:图形化表示: 代码:public class liubobo_8_5 { /// 200. Number of Islands/// https://leetcode.com/problems/number-of-islands/description//// 时间复杂度: O(n*m)/// 空间复杂度: O(n*m) pri...原创 2018-11-23 21:59:40 · 822 阅读 · 0 评论 -
[LeetCode] N-Queens N皇后问题
问题:测试数据:[ [".Q..", // Solution 1 "...Q", "Q...", "..Q."], ["..Q.", // Solution 2 "Q...", "...Q", ".Q.."]]优化 -- 剪枝:思路:对角线分析: 代码;原创 2018-11-23 22:43:42 · 219 阅读 · 0 评论 -
java 蓝桥杯 凑算式 ( 两种方法 暴力和dfs)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。解题:这个题还是没什么好说的,但是有一个小小的容易出错的点,就是int 和double类型的定义,代码中已经注解最终结果是29方...原创 2018-11-28 21:25:51 · 502 阅读 · 0 评论 -
7届蓝桥杯第8题 -四平方和
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b ...原创 2018-11-29 19:36:51 · 474 阅读 · 0 评论 -
7届蓝桥杯第10题 -压缩变换
压缩变换小明最近在研究压缩算法。他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比。然而,要使数值很小是一个挑战。最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很大可能是刚出现过不久的数字。对于这种特殊的序列,小明准备对序列做一个变换来减小数字的值。变换的过程如下:从左到右枚举序列,每枚举到一个数字,如果这个数字没有出现过,刚将数字变换成...原创 2018-11-29 20:17:55 · 339 阅读 · 0 评论