递归
Casionx
爱家人 爱自己 爱生活 爱coding
展开
-
折线分割平面
【题型一】直线分割平面 在一个平面上有一个圆和n条直线,这些直线中每一条在圆内同其他直线相交,假设没有3条直线相交于一点,试问这些直线将圆分成多少区域。 分析: 当添加第N条,为了使平面最多, 则第N条直线要与前面的N-1条直线都相交,且没有任何三条直线相交一个点。 则添加第N条直线会多N-1个交点。由于每增加N个交点,就增加N+1个平面,所以添加第N条直线来会在之前的基础上增加N个原创 2017-03-18 12:48:18 · 6999 阅读 · 0 评论 -
递归的应用-回溯
【转自《王道上机指南》】 题目1459:Prime ring problem 题目描述: A ring is compose of n circles as shown in diagram. Put natural number 1, 2, …, n into each circle separately, and the sum of numbers in two adj...原创 2017-03-13 16:24:10 · 692 阅读 · 0 评论 -
0-1背包问题
【01背包】 有N件物品和一个载重为W的背包。第i件物品的重量是w[i]w[i],价值是v[i]v[i]。 求解背包最多能装下的价值是多少? 【解法一 动态规划】 思路分析: 对于每件物品,只有两种情况:装?不装?。 假设dp[i][j]表示在背包剩余载重j的情况下,前i个物品能达到的最大价值。 对于第i个物品, 如果w[i]>j,放不进去,不能放,故dp[i][j]=dp[i-1]原创 2017-03-11 13:37:20 · 523 阅读 · 2 评论 -
整数分解方法
题目大意:给定一个整数n,找到k个数,使得其和等于n。 如:4=1+1+1+14=1+1+2;4=1+3;4=2+2;4=4;求其分解的所有可能,并输出分解表达式。 解题思路:要拆分整数n,肯定先要找到一个元素,然后我们会发现,剩下的问题还是一个整数差分问题,因此容易得到问题的解。 定义函数f(n)为n可以拆分的解的个数,即可以先拆分出一个数字k(k = 1,2,……,n...原创 2017-03-16 13:42:43 · 28503 阅读 · 7 评论 -
递归分苹果组合数论
【问题】将M个相同的苹果放入N个相同的盘子 一共有多少种放法?注{1,2,3 }和{3,2,1}是相同的一种。 分析: 所有不同的摆放方法可以分为两类:至少有一个盘子为空和所有盘子都不空。对于至少空着一个盘子的情况,则N 个盘子摆放M 个苹果的摆放方法数目与况,则N 个盘子摆放M 个苹果的摆放方法数目等于N 个盘子摆放M-N 个苹果的摆放方法数目。我们可以据此来用递归的方法求解这个问题。 ...原创 2017-03-19 15:06:17 · 732 阅读 · 0 评论 -
方格红与黑
问题描述 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 输入数据 包括多个数据集合。每个数据集合的第一行是两个整数W 和H,分别表示x 方向和y 方向瓷砖的数量。W 和H 都不超过20。在接下来的H 行中,每行包括W 个字符。每个字符表示一块瓷砖的颜色,...原创 2017-03-19 15:15:59 · 821 阅读 · 1 评论 -
八皇后问题简单解法
八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当 n = 1 或 n ≥ 4 时问题有解。 仔细分析此题,可以发现:如果我们从第一行开始放置,每行放置一原创 2017-03-13 19:24:06 · 1315 阅读 · 2 评论