数据结构与算法
文章平均质量分 77
felicitia
哈工大软件学院学生
展开
-
编程之美2013初赛——竞价
题目时间限制: 1000ms 内存限制: 256MB描述Alice和Bob都要向同一个商人购买钻石。商人手中有 N 颗钻石,他会将它们一颗颗地卖给他们,Alice和Bob通过竞价的方式来决定钻石的归属。具体的过程如下:商人首先指定其中一个人开始报价,之后两人轮流报价,要求是一定要比对方报的价格更高。任何时候,如果一个人不愿出价或者出不起价钱时,可以宣布弃权,则对手以最后一次原创 2013-04-16 18:34:01 · 928 阅读 · 0 评论 -
串的模式匹配算法——KMP
声明原文链接:http://www.inf.fh-flensburg.de/lang/algorithmen/pattern/kmpen.htm ;原文的“text”翻译为主串,通常用S表示,长度为n;原文的"pattern"翻译为模式串,通常用T表示,长度为m;括号中是自己的一些注释;思想在移动了模式串之后,原始的算法(应该就是指普通的BF吧~)忽略了之前匹配的信息,翻译 2013-04-18 17:57:47 · 2098 阅读 · 0 评论 -
百度之星4.27月赛——FIR
题目- FirTime Limit : 2000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)Problem Description小H是一个程序员。但是他很喜欢一些新奇的东西。有一次,他去找物理实验室的朋友玩。他见到了一串非常有意思的粒子。N个粒子排成一排。每一秒中,每一段连续的粒原创 2013-04-27 22:17:40 · 1009 阅读 · 0 评论 -
辗转相除法
概述又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。 在数学中,辗转相除法又称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》,而在中国则可以追溯至东汉出现的《九章算术》。 两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相减法基于如下原理:两个整转载 2013-05-04 12:24:02 · 1299 阅读 · 0 评论 -
简单的暴力搜索
有些数据量不大的题目可以通过暴力搜索来实现,有固定的做题套路,下面写两道简单的题来总结一下:/** * 有一群海盗(不多于20人),在船上比拼酒量。 * 过程如下:打开一瓶酒,所有在场的人平分喝下, * 有几个人倒下了。再打开一瓶酒平分,又有倒下的, * 再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几, * 海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 *原创 2013-05-04 15:36:32 · 4245 阅读 · 0 评论 -
基于比较的各种排序算法的实现
由于把作业理解错了,就实现了一下各种排序的算法,不过都是基于比较排序的,分治思想的算法写起来还是有点难度的,有时间补上counting sort等复杂度能达到线性的排序算法,各种经典的算法网上都有介绍,就不啰嗦了,主要总结一下自己再实际编码中遇到的问题~资源地址:http://download.csdn.net/detail/felicitia/54768531. 参考伪码原创 2013-05-29 21:06:12 · 1647 阅读 · 0 评论