ACM_数据结构
文章平均质量分 76
Hunter_猎手
你不会战胜别人,除非你战胜你自己。
展开
-
Flo's Restaurant
Problem DescriptionSick and tired of pushing paper in the dreary bleary-eyed world of finance, Flo ditched her desk job and built her own restaurant.In the small restaurant, there are severa原创 2015-10-19 20:24:22 · 432 阅读 · 0 评论 -
HD 1176 免费馅饼 (DP)
Problem Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中原创 2016-03-24 21:19:24 · 286 阅读 · 0 评论 -
HD 2048 数塔 DP(简单递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗?原创 2016-03-26 11:47:54 · 1252 阅读 · 0 评论 -
HD 2044 一只小蜜蜂(递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044Problem Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。 Input输入数据的第一行是一个整数N,表示原创 2016-03-26 14:46:40 · 437 阅读 · 0 评论 -
数据结构之二叉树的先序、中序、后续的求法
今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树原创 2016-04-26 20:25:18 · 3035 阅读 · 1 评论 -
NYOJ 5177 疯牛(最大化最小值 二分搜索)
NYOJ 5177 疯牛(最大化最小值 二分搜索) 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发生争斗。为了不让牛互相伤害。John决定自己给牛分配隔间,使任意两头牛之间的最小距离尽可能的大,那么,这个最大的最小距离是什么呢?原创 2016-05-24 21:37:40 · 498 阅读 · 0 评论 -
POJ 3069 Saruman's Army(贪心)
直线上有N个点。点i的位置是Xi。从这N个点中选择若干个,给他们加上标记。对每一个点,其距离为R以内的区域里必须有个带有标记的点(自己本身带有标记的点,可以认为其与距离为0的地方有一个带有标记的点)。在满足这个条件的情况下,希望能为尽可能少的点添加标记。问至少要有多少点被加上标记?原创 2016-05-17 17:40:36 · 300 阅读 · 0 评论 -
C语言快速幂取模算法小结
首先,所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。我们先从简单的例子入手:求abmodc。原创 2016-05-23 09:10:23 · 4265 阅读 · 1 评论 -
Duff in Love
DescriptionDuff is in love with lovely numbers! A positive integer x is called lovely if and only if there is no such positive integer a > 1 such thata2 is a divisor of x.Malek has a number原创 2016-05-23 20:22:04 · 780 阅读 · 0 评论 -
DP_硬币问题
动态规划算法通常基于一个递推公式及一个或多个初始状态。 当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度, 因此它比回溯法、暴力法等要快许多。动态规划也是面试笔试题中的一个考查重点,当阅读一个题目并且开始尝试解决它时,首先看一下它的限制。 如果要求在多项式时间内解决,那么该问题就很可能要用DP来解。遇到这种情况, 最重要的就是找到问题的“状态”和“状态转移方程”。(原创 2016-03-24 15:49:27 · 1681 阅读 · 0 评论 -
HD 1253 胜利大逃亡(bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1253Problem DescriptionIgnatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0,0)的位置,离开原创 2016-04-06 20:42:41 · 457 阅读 · 0 评论 -
HD_1241Oil Deposits(DFS)
Problem DescriptionThe GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates原创 2016-03-22 20:46:38 · 341 阅读 · 0 评论 -
qsort(),sort()排序函数
一.qsort()函数功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小转载 2015-11-04 19:25:05 · 362 阅读 · 0 评论 -
Poj3468_A Simple Problem with Integers
DescriptionYou have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is原创 2016-01-25 16:13:18 · 386 阅读 · 0 评论 -
HD1010_Tempter of the Bone(深搜+剪枝)
HD1010_Tempter of the Bone(深搜+剪枝)The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He realized that the bone was a trap, and he tri原创 2016-01-27 18:07:47 · 449 阅读 · 0 评论 -
第五届河南省大学生程序设计竞赛 题解
题目一题目一链接:http://115.159.40.116/problem_show.php?pid=5135题目描述最近,Dr. Kong 新设计一个机器人Bill.这台机器人很聪明,会做许多事情。惟独对自然数的理解与人类不一样,它是从右往左读数.比如,它看到123时,会理解成321.让它比较23与15哪一个大,它说15大。原因是它的大脑会以为是32与51在进行比较.再比如原创 2016-03-29 20:52:57 · 662 阅读 · 0 评论 -
数字三角形问题 (动态规划初步)
问题描述:有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数。 从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行,把沿途经过的数全部加起来。如何走才能使得这个和尽量大?如下图: 1 3 2 4 10 1 4 3 2 20原创 2016-03-30 21:17:19 · 4914 阅读 · 0 评论 -
HDU 1175 连连看(BFS)
HDU 1175 连连看(BFS)Problem Description“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不能从外面绕过去的,但事实上这是错的。现在已经酿成大祸,就只原创 2016-03-19 20:37:15 · 360 阅读 · 0 评论 -
HD 1213 How Many Tables(裸 并查集)
Problem DescriptionToday is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables h原创 2016-03-31 21:20:33 · 520 阅读 · 0 评论 -
HD 1159 Common Subsequence (最长公共子序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159Problem DescriptionA subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequenc原创 2016-04-02 20:49:29 · 359 阅读 · 0 评论 -
平面最接近点对问题(分治)
主要思想就是分治。先把n个点按x坐标排序,然后求左边n/2个和右边n/2个的最近距离,最后合并。合并要重点说一下,比较麻烦。 首先,假设点是n个,编号为1到n。我们要分治求,则找一个中间的编号mid,先求出1到mid点的最近距离设为d1,还有mid+1到n的最近距离设为d2。这里的点需要按x坐标的顺序排好,并且假设这些点中,没有2点在同一个位置。(若有,则直接最小距离为0了)。 ...原创 2018-10-28 15:49:27 · 3266 阅读 · 0 评论