数据结构与算法
数据结构与算法
璐璐丫头
这个作者很懒,什么都没留下…
展开
-
吝啬的国度
吝啬的国度时间限制:1000 ms | 内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1每组测试数据的第转载 2013-05-09 09:52:31 · 836 阅读 · 1 评论 -
喷泉装置(贪心问题)
喷水装置(一)时间限制:3000 ms | 内存限制:65535 KB难度:3描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。输入第一行m原创 2013-05-09 09:17:32 · 1382 阅读 · 0 评论 -
泊松分酒
问题一:问题描述 有一个酒瓶装八斤酒没有量器只有分别装五斤和三斤的空酒瓶。设计程序将八斤酒分为两个四斤求出最少步骤。 输入 问题无需输入。 输出 输出最少步数或者最少步数下的倒酒过程纯数学解决该问题方法原理 解决问题的一套规则:1. 大瓶子只能倒入中瓶子2. 中瓶子只能倒入小瓶子3. 小瓶子只能倒入大瓶子 4. 小瓶子只有在已经装满的情况下才能倒入大瓶子原创 2013-05-03 16:35:17 · 2483 阅读 · 0 评论 -
密匙单词加密(加密问题)
题目要求:一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串。2.紧接其后,按字母序按行填入不在密钥串中的字母。3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥为youandme,则该方阵如下: y o原创 2013-05-01 15:40:03 · 2112 阅读 · 0 评论 -
数字旋转方阵和上三角(递归问题)
数字旋转方阵:数字方阵大小是N * N;要求:输入一个整数N(4《=N《=15)输出要求如下:每个子的输出宽度为4用递归实现,一圈一圈来填充 没一圈填充都包括向下,向右,向上,向左四种操作,还要注意一圈完成无调用下一圈的参数import java.util.Scanner;//数字旋转方阵public class DigitTu原创 2013-05-02 08:34:01 · 1559 阅读 · 0 评论 -
几个简单递归问题(菲波那契数列 ,二叉树,逆波兰式)
9.2 例题:菲波那契数列 问题描述 菲波那契数列是指这样的数列:数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。给出一个正整数 a,要求菲波那契数列中第 a 个数是多少。 输入数据 第 1 行是测试数据的组数 n,后面跟着 n 行输入。每组测试数据占 1 行,包括一个正整数 a(1 输出要求 n 行,每行输出对应一个输入。输出应是一个原创 2013-04-29 15:12:58 · 1971 阅读 · 0 评论 -
几个递归练习题问题(迷宫,算24,小游戏,碎纸机)
迷宫 题目要求:一天 Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n * n 的格点组成,每个格点只有 2 种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense 处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense 想要从点A走到点 B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个原创 2013-04-30 12:09:17 · 2535 阅读 · 1 评论 -
几个经典递归问题(放苹果,红与黑,八皇后,木棍)
9.5 例题:放苹果(一次枚举)问题描述 把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用 K 表示)注意:5,1,1 和 1,5,1 是同一种分法。 输入数据 第一行是测试数据的数目 t(0 输出要求 对输入的每组数据 M 和 N,用一行输出相应的 K。 输入样例 1 7 3 输出样例 8 解题思原创 2013-04-30 11:47:01 · 2066 阅读 · 0 评论 -
排序的几种方法(合并,快速,冒泡排序)
合并排序:合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序原创 2013-04-28 11:00:31 · 959 阅读 · 0 评论 -
圆周率,孪生素数,反转串,最近距离,基因牛,迷宫问题(2011年蓝桥杯预赛java本科组试题)
2011年 选拔赛 java 本科考生须知:考试时间为4小时。本试卷包含两种题型:“代码填空”与“程序设计”。总计100分。其中代码填空:3+4+5+7+9+19 = 47 分程序设计:12+17+24 = 53分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即不能出现分号)。把填空的答案(仅填空处的原创 2013-05-01 16:07:18 · 1467 阅读 · 0 评论 -
0/1背包问题(递归解决,递推解决)
0-1背包问题: 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 这个问题的特点是:每种物品只有一件,可以选择放或者不放。输入格式:V,NW1,V1W2,V2......输出格式: X 帮助理解:比如01背包问题。/* 一个旅行者有一原创 2013-05-02 11:38:52 · 8308 阅读 · 0 评论 -
棋盘分割 错误账目(递归问题 枚举 回溯)
棋盘分割 将一个8*8的棋盘进行如下分割: 将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行) 图 9-5 棋盘分割示意图 原棋盘上每一格有一个分值,一块矩形棋盘的原创 2013-05-01 11:25:10 · 980 阅读 · 0 评论 -
最长公共子序列和最长公共子串
10.5 例题:最长公共子序列 问题描述 我们称序列Z = 是序列X = 的子序列当且仅当存在严格上升的序列,使得对 j = 1, 2, ... ,k, 有 xij = zj。比如Z = 是 X = c, f, b, c >的子序列。 现在给出两个序列 X和 Y,你的任务是找到 X和 Y的最大公共子序列,也就是说要找到一个最长的序列 Z,使得 Z 既是X的子序列也是原创 2013-04-22 14:39:58 · 900 阅读 · 0 评论 -
表格问题(仿真问题)
题目要求在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。 比如: ┌ ─ ┬ ─ ┐ │ │ │ ├ ─ ┼ ─ ┤ │ │ │ └ ─ ┴ ─ ┘ 其实,它是由如下的符号拼接的:原创 2013-05-01 11:00:39 · 685 阅读 · 0 评论 -
黄金队列,汉诺塔,奇怪的比赛,第一个数字,割圆,最大数,矩形的交集和并集,趣味算式(第三届蓝桥杯Java本科预赛试题)
/*黄金队列求鲁卡斯队列 * 黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子.... 黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似原创 2013-05-03 17:11:09 · 2058 阅读 · 0 评论 -
二阶魔方(仿真问题)
题目:魔方可以对它的6个面自由旋转。我们来操作一个2阶魔方(如图1所示):为了描述方便,我们为它建立了坐标系。各个面的初始状态如下:x轴正向:绿x轴反向:蓝y轴正向:红y轴反向:橙z轴正向:白z轴反向:黄假设我们规定,只能对该魔方进行3种操作。分别标记为:x 表示在x轴正向做顺时针旋转y 表示在y轴正向做顺时针旋转原创 2013-04-26 12:41:25 · 2790 阅读 · 0 评论 -
质因子分解
题目:请写一个程序,读入一个正整数,把它的所有质因子以及质因子的次方找出来。例如,输入是27,27 = 2^3 * 3^2,于是质因子就有2与3,质因子的次方分别是3,2;如果输入是181944,那么因为181944 = 2^3 * 3^2 * 7 * 19^2,所以质因子为2、3、7、19,质因子的次方分别是3,2,1,2。思路:从质数2开始依次求质数的次方,每个质数的次方加1后,就将给的数原创 2013-04-26 10:10:48 · 1383 阅读 · 0 评论 -
母函数(数学问题)
生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。普通型母函数定义:对于任意数列a0,a1,a2...an 即用如下方法与一个函数联系起来:G(x) = a0 + a1x + a2x*2原创 2013-04-27 09:07:18 · 1600 阅读 · 0 评论 -
求多边形面积,直线,折现,z型线分平面(数学问题)
在坐标系中求多边型的面积:思路:取一个多边形其中一个顶点(x0,y0),从他开始向其他的顶点连线,分成(n-2)个三角形,设每个三角形的另两个顶点为(x1,y1),(x2,y2),则这个三角形面积为(|(x1-x0)*(y2-y0)|+|(x2-x0)*(y1-y0)|)/2,多边形的面积就是所有三角形的面积和三角形的面积公式的由来用向量来表示三角形的面积是1/2*a*原创 2013-04-27 10:52:44 · 1439 阅读 · 0 评论 -
海盗分酒(数学问题)
海盗分酒题目描述:有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复......直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝原创 2013-04-24 22:06:39 · 2013 阅读 · 0 评论 -
关灯问题(数学问题,因子解决)
关灯问题问题1:大厅里有100盏灯,每盏灯都编了号码,分别为1-100。每盏灯由一个开关来控制。(开关按一下,灯亮,再按一下灯灭。开关的编号与被控制的灯相同。)开始时,灯是全灭的。现在按照以下规则按动开关。第一次,将所有的灯点亮。 第二次,将所有2的倍数的开关按一下。 第三次,将所有3的倍数的开关按一下。 以此类推。第N次,将所有N的倍数的开关按一下。 问第100次按完原创 2013-04-25 12:16:15 · 4415 阅读 · 0 评论 -
整数N的因子个数和N!的因子个数(数学问题)
N的因子个数:条件:给定任意一个一个正整数N要求:求其因子的个数首先给出结论:对于任意的整型N,分解质因数得到N= P1^x1 * P2^x2* …… * Pn^xn;(p1,p2,p3...pn是质数2,3,5,7..........)则N的因子个数M为 M=(x1+1) * (x2+1) * …… *(xn+1);解析:如果N的因子的个数用上面的思路求的话,分解质因数的时候原创 2013-04-25 10:19:18 · 4135 阅读 · 0 评论 -
Maya Calendar(玛雅历)日历问题 poj1008
Maya CalendarTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 58188 Accepted: 17928DescriptionDuring his last sabbatical, professor M. A. Ya made a surpris原创 2013-05-06 21:39:21 · 1329 阅读 · 0 评论