关闭
当前搜索:

2018年全国多校算法寒假训练营练习比赛(第一场)六子冲

链接:https://www.nowcoder.com/acm/contest/67/C题目描述六子冲是流传于中国民间的一类棋类游戏。由于这个游戏对环境的要求不高,孩子们大都是在光滑的地面或石板上画上方格,以石子或木棍、草节等为棋子,并有简单的比赛,可以锻炼脑力。纵横各四条直线组成一个正方形棋盘,直线相交的地方为落子点。开局时放子处为上下左右边线上的落子点,且不同方的子不可交叉放置。如下图:棋子只能...
阅读(20) 评论(0)

2018年全国多校算法寒假训练营练习比赛(第一场)最强的决斗者一切都是必然的!

链接:https://www.nowcoder.com/acm/contest/67/B题目描述 L一直喜欢玩游戏王这款声控印卡游戏,使用一套连锁式削血卡组便可战无不胜。每当陷入危机即将败北之际,L便会高呼“最强的决斗者一切都是必然的!”,然后发动闪光印卡技能,直接翻盘,伤害不多不少,正好足够击败对手。 发动闪光印卡技能后,L抽取一张牌,然后微微一笑。接着L以一定顺序打出若干张牌,造成的伤害正好等于...
阅读(23) 评论(0)

2018年全国多校算法寒假训练营练习比赛(第一场) 大吉大利,今晚吃鸡——枪械篇

链接:https://www.nowcoder.com/acm/contest/67/A题目描述 在绝地求生(吃鸡)游戏里,不同的枪支有不同的威力,更是可以搭配不同的配件,以提升枪支的性能。 每一把枪都有其威力及其可装备配件种类。每一个配件有其所属种类,可以为枪 支提供威力的百分比加成。每一把枪只能装备一个同类配件。给你n把枪支和m个配件,枪的威力为p,可装备的配件数量为k,为...
阅读(38) 评论(0)

数据结构之堆排序

堆的概念 堆是一棵顺序存储的完全二叉树。每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆举例来说,对于n个元素的序列{R0, R1, … , Rn}当且仅当满足下列关系之一时,称之为堆:(1) Ri <= R2i+1 且 Ri = R2i+1 且 Ri >= R2i+2 (大根堆)其中i=1,2...
阅读(65) 评论(0)

数据结构之树形选择排序(锦标赛排序)

锦标赛排序和树形选择排序锦标赛 排序也叫树形选择排序,是一种按照锦标赛的思想进行选择的排序方法,该方法是在简单选择排序方法上的改进。简单选择排序,花费的时间大部分都浪费在值的比较上面,而锦标赛排序刚好用树保存了前面比较的结果,下一次比较时直接利用前面比较的结果,这样就大大减少比较的时间,从而降低了时间复杂度,由O(n^2)降到O(nlogn),但是浪费了比较多的空间,“最大的值”也比较了多次。大概过程...
阅读(60) 评论(0)

数据结构之快速排序

数据结构之快速排序算法原理快速排序(Quicksort) 是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法步骤 获得待排序数组a 选取一个合适的数字p(...
阅读(112) 评论(0)

数据结构之希尔排序(插入排序)

数据结构之希尔排序(插入排序) 希尔排序(Shell`s Sort)又称“缩小增量排序”(Diminishing Increment Sort),是插入排序的一种,因D.L.Shell于1959年提出而得名。 希尔排序的诞生是由于插入排序在处理大规模数组的时候会遇到需要移动太多元素的问题。希尔排序的思想是将一个大的数组“分而治之”,划分为若干个小的数组,然后分别对划分出来的数组进行插入排序。希尔排序...
阅读(70) 评论(0)

数据结构之拓扑排序

数据结构之拓扑排序一、什么是拓扑排序 在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件: 每个顶点出现且只出现一次。 若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。 有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序...
阅读(106) 评论(0)

数据结构之哈希表查找

数据结构之 哈希表查找哈希表的基本概念 哈希表(Hash Table)又称散列表,是除顺序表存储结构、链接表存储结构和索引表存储结构之外的又一种存储线性表的存储结构。   哈希表存储的基本思路是:    设要存储的对象个数为n,设置一个长度为m(m≥n)的连续内存单元,以线性表中每个对象的关键字ki(0≤i≤n-1)为自变量,通过一个称为哈希函数的函数h(ki),把ki映射...
阅读(133) 评论(0)

数据结构之哈夫曼树及哈夫曼编码

数据结构之哈夫曼树及哈夫曼树编码 哈夫曼树的基本概念 哈夫曼树又称最优树,是一类带权路径长度最短的树,在实际中有广泛的用途。哈夫曼树的定义,涉及路径,路径长度,权等概念。 路径:从树中的一个结点到另一个结点之间的分支构成这两个结点之间的路径。 路径长度:路径上的分支数目称作为路径的长度。 树的路径长度:从树根到每一个结点的路径长度之和。 权:赋予某个实体的一个量,是对实体的...
阅读(96) 评论(0)

牛顿法求平方根

牛顿迭代法快速寻找平方根万能的牛顿,数学zhazha,膜拜中。。。下面这种方法可以很有效地求出根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了。 例如,我想求根号2等于多少。假如我猜测的结果为4,虽然错的离谱,但你可以看到使用牛顿迭代法后这个值很快就趋近于根号2了: ( 4 + 2/ 4 ) / 2 = 2.2...
阅读(58) 评论(0)

深入理解二叉搜索树(BST)

深入理解二叉搜索树(BST) 一棵二叉搜索树(BST)是以一棵二叉树来组织的,可以用链表数据结构来表示,其中,每一个结点就是一个对象,一般地,包含数据内容key和指向孩子(也可能是父母)的指针属性。如果某个孩子结点不存在,其指针属性值为空(NIL)。 二叉搜索树中的关键字key的存储方式总是满足二叉搜索树的性质: 设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么会有y.key<=...
阅读(59) 评论(0)

索引顺序表查找算法(分块查找)

算法背景有时候,可能会遇到这样的表:整个表中的元素未必有序,但若划分为若干块后,每一块中的所有元素均小于(或大于)其后面块中的所有元素。我们称这种为分块有序。 对于分块有序表的查找 首先,我们需要先建立一个索引表,索引表中为每一块都设置–索引项,每一个索引项都包含两个内容: 该块的起始地址 该块中最大(或最小)的元素 显然,索引表是按关键字递增或递减次序排列的。如下图所示:...
阅读(140) 评论(0)

HDU 2492 Ping pong(树状数组)

Ping pongTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5575 Accepted Submission(s): 2085Problem Description N(3<=N<=20000) ping pong play...
阅读(61) 评论(0)

HDU 4970 Killing Monsters(树状数组VS思维)

Killing Monsters Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 2768 Accepted Submission(s): 1040Problem Description Kingdom Rush is a po...
阅读(53) 评论(0)
204条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:39935次
    • 积分:2386
    • 等级:
    • 排名:第18368名
    • 原创:204篇
    • 转载:0篇
    • 译文:0篇
    • 评论:6条
    最新评论