
【算法设计】
Asher1
这个作者很懒,什么都没留下…
展开
-
Leetcode 78. Subsets
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:Input: nums = [1,2,3]Output:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]算法思路;常规dfs可解,每一个数字可选,可不选,对于n个数字则有2的n...原创 2019-01-06 20:18:44 · 255 阅读 · 0 评论 -
01背包问题,完全背包问题(递归求解)
01背包在选第i个物品时,容积够用情况下,只有2种状态可选,放还是不放,找出最大价值的选择而完全背包在选第i种物品时,容积够用情况下,可能有2种以上状态可选,放1个,或者2个,3个,或者不放。找出最大价值的选择01背包问题问题 input:5 8 //五件物品 背包容量为84 5 2 1 3 //物品价值3 5 1 2 2 //物品数量outpu...原创 2019-02-27 16:25:21 · 9758 阅读 · 2 评论 -
哈密顿回路与旅行商问题的求解
哈密顿图:图G的一个回路,若它通过图的每一个节点一次,且仅一次,就是哈密顿回路.存在哈密顿回路的图就是哈密顿图.哈密顿图就是从一点出发,经过所有的必须且只能一次,最终回到起点的路径.图中有的边可以不经过,但是不会有边被经过两次.哈密顿回路之中的图并不要求是完全图,而当这个图的完全图也就是每个顶点之间都存在路径,并且是加权图的时候,哈密顿回路的问题就演变成了旅行商问题,因此上述两个问题的求解方法...原创 2019-02-28 15:17:43 · 8071 阅读 · 0 评论 -
整数的划分(回溯法)
题目描述 Description什么是整数划分举个例子,当n=5时我们可以获得以下这几种划分(注意,例子中m>=5)5 = 5 = 1+ 4 = 2+ 3 = 1+ 1 + 3 = 1+ 2+ 2 = 1+ 1+ 2 = 1 + 1 + 1 + 1 + 1输出所有划分的数目解决思路:我们可以看出 上述划分的关键是每...原创 2019-02-28 15:48:33 · 1285 阅读 · 0 评论 -
放苹果(回溯解法)
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。输入第一行是测试数据的数目t(0<=t<=20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K与上一篇整数划分相似只不过规定了盘子的数量 即可以划分...原创 2019-02-28 16:42:09 · 1497 阅读 · 0 评论 -
素数环问题(回溯法)
素数环是一个计算机程序问题,指的是将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。 现在要求输入一个n,求n个数围成一圈有多少种素数环,规定第一个数字是1。#include<iostream>#include<math.h>using namespace std;int n=0;int a[100];...原创 2019-02-28 16:59:54 · 10165 阅读 · 7 评论 -
宝岛探险问题(dfs或递归求解)
若海域由一个主岛和一些附属岛屿组成,海域可由一个n×n的方阵表示,矩阵中的数字表示相应主岛或岛屿的海拔:数字1~9表示陆地,数字0表示海洋。 现在程序猿儿打算在某个岛屿或主岛上探险,他的飞机将会降落在海域坐标为(x, y)的陆地上,请你计算猿儿降落点所在岛屿或主岛的面积有多大input4 4 2 31 2 1 00 1 1 00 1 0 00 0 1 0output6法1...原创 2019-02-19 22:25:29 · 727 阅读 · 0 评论 -
求最大子段和(分治法)
算法思想:通过分治的思想求最大子段和,将数组分平均分为两个部分,则最大子段和会存在于三种情况下:1.最大子段和出现在左端2.最大子段和出现在右端3.最大子段和横跨在左右段 通过比较大小得到最大子段和//最大子段和问题 p64 #include<stdio.h>#include<iostream>using namespace std;int...原创 2019-03-01 12:35:33 · 6026 阅读 · 0 评论 -
图着色问题(回溯法)
问题:给定 无向连通图G=(V,E) 和 c种不同的颜色,用这些颜色为图G的各顶点着色,每个顶点着一种颜色。如果一个图最少需要c种颜色才能使图中每条边连接的2个顶点着不同颜色,则称c为该图的色数。 著名的 四色定理 就是指每个平面地图都可以只用四种颜色来染色,而且没有两个邻接的区域颜色相同。求:给定图的顶点v,顶点间的边邻接关系c[][],颜色的数量c,一共有多少种着色方法? 这是...原创 2019-02-20 20:18:06 · 25665 阅读 · 3 评论