51dev.com IT技术开发者社区

51dev.com 技术开发者社区

算法

nyoj 214-单调递增子序列(二) (演算法,PS:普通的动态规划要超时)

nyoj 214-单调递增子序列(二) (演算法,PS:普通的动态规划要超时)

内存限制:64MB时间限制:1000msSpecialJudge:Noaccepted:11submit:35给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序列,并求出其长度。如:1910511213的最长单调递增子序列是19101113,长度为5。有多组测试数据(&...

nyoj 24-素数距离问题 (素数算法)

nyoj 24-素数距离问题 (素数算法)

内存限制:64MB时间限制:3000msSpecialJudge:Noaccepted:21submit:71现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0第一行给出测试数据...

nyoj 17-单调递增最长子序列  &&  poj 2533(动态规划,演算法)

nyoj 17-单调递增最长子序列 && poj 2533(动态规划,演算法)

内存限制:64MB时间限制:3000msSpecialJudge:Noaccepted:21submit:49求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000...

最小生成树之Prim(普里姆)算法

最小生成树之Prim(普里姆)算法

关于什么是Prim(普里姆算法)?      在实际生活中,我们常常碰到类似这种一类问题:如果要在n个城市之间建立通信联络网,则连通n个城市仅仅须要n-1条线路。这时。我们须要考虑这样一个问题。怎样在最节省经费前提下建立这个通信网.换句话说,我们...

Java实现算法之--选择排序

Java实现算法之--选择排序

    选择排序也是比較简单的一种排序方法,原理也比較easy理解,它与冒泡排序的比較次数同样,但选择排序的交换次数少于冒泡排序。冒泡排序是在每次比較之后,若比較的两个元素顺序与待排序顺序相反,则要进行交换,而选择排序在每次遍历过程中仅仅记录下来最小的一个元素的下标,待所有比較结...

【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】

【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】

  Givenasinglylinkedlistwhereelementsaresortedinascendingorder,convertittoaheightbalancedBST.  给定一个升序的单链表。将它转换成一颗高度平衡的二叉树 解法一:将单链表中的值存入一个数组中,通过数组来构建二叉树。算法时间复杂度是...

时间/空间复杂度,基础排序算法(冒泡、选择、快速、插入)

时间/空间复杂度,基础排序算法(冒泡、选择、快速、插入)

一、时间复杂度、空间复杂度时间复杂度:用来评估算法运行效率的一个东西,用O()来表示举例时间复杂度计算:print('HelloWorld')O(1)foriinrange(n):#n次循环print('HelloWorld')O(n)foriinrange(n):forjinrange(n):#两个n嵌套循环prin...

Kruscal(最小生成树)算法模版

Kruscal(最小生成树)算法模版

1constintmaxn=400;//最大点数2constintmaxm=10000;//最大边数3intn,m;//n表示点数,m表示边数4structedge{intu,v,w;}e[maxm];//u,v,w分别表示该边的两个顶点和权值5boolcmp(edgea,edgeb)6{7returna.w<b...

BZOJ 3680: 吊打XXX【模拟退火算法裸题学习,爬山算法学习】

BZOJ 3680: 吊打XXX【模拟退火算法裸题学习,爬山算法学习】

TimeLimit:10Sec  MemoryLimit:128MBSec  SpecialJudgeSubmit:3192  Solved:1198[Submit][Status][Discuss]gty又虐了一场比赛,被虐的蒟蒻们决定吊打gty。gty见大...

浅谈关于特征选择算法与Relief的实现

浅谈关于特征选择算法与Relief的实现

在机器学习的实际应用中,特征数量可能较多,其中可能存在不相关的特征,特征之间也可能存在相关性,容易导致如下的后果:1.    特征个数越多,分析特征、训练模型所需的时间就越长,模型也会越复杂。2.    特征个数越多,容易引起“...

洛谷 P1972 [SDOI2009]HH的项链【莫队算法学习】

洛谷 P1972 [SDOI2009]HH的项链【莫队算法学习】

无HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答……因为项链实在是太长...

hihoCoder #1015 : KMP算法【KMP裸题,板子】

hihoCoder #1015 : KMP算法【KMP裸题,板子】

#1015:KMP算法时间限制:1000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一只河蟹,于是河蟹就向小Hi和小Ho提出了那个经典的问题:“小Hi和小Ho,你...

排序算法之奇偶排序 JAVA奇偶排序算法

排序算法之奇偶排序 JAVA奇偶排序算法

 奇偶排序法的思路是在数组中重复两趟扫描。第一趟扫描选择所有的数据项对,a[j]和a[j+1],j是奇数(j=1,3,5……)。如果它们的关键字的值次序颠倒,就交换它们。第二趟扫描对所有的偶数数据项进行同样的操作(j=2,4,6……)。重复进行这样两趟的...

排序算法之快速排序 JAVA快速排序算法

排序算法之快速排序 JAVA快速排序算法

publicstaticvoidquickSort(int[]arr,intlow,intheight){intl=low,h=height;if(low<height){inttemp=arr[low];while(low<height){while(low<height&&temp...

趣味算法——青蛙过河(JAVA)

趣味算法——青蛙过河(JAVA)

   青蛙过河是一个非常有趣的智力游戏,其大意如下:一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动。在移动过程中,青蛙可以向前面的空位中移动,不可以一次跳过两个位置,但是可以跳过对方一只青蛙进入到前面的一个空位。问两队青蛙该如何移...