- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 Uva11134 Fabled Rooks(贪心,优先级队列)
题目链接:Fabled Rooks 终于给我过了,这道题目拿到手就相当然的以为是八皇后问题=_=。然后深搜上去,果断超时了。确实,5000的数据规模,深搜的时间复杂度最大O(n3),确实欠考虑。 解题关键: 贪心,注意到x和y的坐标是相互独立的,可以为每个点先分配x点坐标,再分配y点坐标。对于每个点的x(y)坐标,按照L的大小来从小到大排序,L相等的,比较
2013-12-23 21:52:18 863
转载 We Recommend a Singular Value Decomposition
原文地址:http://www.ams.org/samplings/feature-column/fcarc-svd 这是一篇直观讲解矩阵奇异值分解(SVD)原理的文章,大牛总是能把复杂的东西讲解得简单明了。学习了,膜拜之。IntroductionThe topic of this article, the singular value decompositio
2013-12-21 15:26:58 951
原创 Visitor——访问者模式
一、定义 GOF中,对Visitor模式的意图是这样描述的:表示一个作用于某对象结构中的各元素的操作。它使得你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 从描述来看,访问者模式主要用于扩展现有的类层次结构来实现新的行为。一般的扩展方法是添加新的方法以提供新的行为。但是有时候,新行为可能和现有对象根本就不兼容。还有可能,类层次的开发人员无法预知以后的开
2013-12-20 09:26:00 1216
原创 Slope One 协同过滤算法
1 背景介绍1.1问题描述 人们在网上收看电影时,常常会给看过的电影打分。从这些电影的打分情况可以发掘出一个用户的电影收看偏好。通过发掘出的用户偏好,可以为用户做出准确的电影推荐。在这个问题中,我们需要根据用户之前的电影打分记录,来预测该用户对一部未看过的电影的评分情况。1.2 协同过滤 上面描述的是一个典型的协同过滤推荐问题(Collabora
2013-12-18 00:08:46 1867
原创 Iterator ——迭代器模式
一、定义 GOF上对迭代器模式的意图这样描述:提供一种方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。二、场景设计 一个聚合对象,如List,应该提供方法让人来访问他的元素,又不需要暴露它的内部结构。同时,可能会有以不同方式遍历列表的需求。为了不让List接口中充斥着各种不同的遍历操作,迭代器模式可以排得上用场。迭代器模式的关键思想:将对列表
2013-12-16 01:45:42 1735
原创 线段树入门
一、定义 线段树(Segment Tree)是一棵完全二叉树。从他的名字可知,树中每个节点都代表一个线段,或者说一个区间。事实上,树的根节点代表整体区间,左右子树分别代表左右子区间。一个典型的线段树如下图所示:
2013-12-12 15:29:35 948
原创 Decorator——装饰器模式
一、定义 GOF上对装饰器模式的意图这样描述:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式比生成子类更为灵活。从根本来说,装饰器模式将多态和委托结合在一起,使得我们可以动态地组合对象的行为。二、场景设计 装饰器模式的典型应用是Java里的流设计。在java中,通常每个流对象中包含另一个流对象,一个流对象通常会将自己预先处理过的字
2013-12-09 01:08:50 817
转载 Java堆内存的10个要点
感谢原作者,原作地址:Java堆内存的10个要点当我开始学习Java编程时,我不知道什么是堆内存或堆空间,我甚至不知道当对象创建时,它们被放在了哪里。当我开始正式写一些程序后,我会经常遇到java.lang.outOfMemoryError的报错,之后我才开始关注什么是堆内存或者说堆空间(heap space)。对大多数程序员都经历过这样的过程,因为学习一种语言是非常容易来的,
2013-12-07 21:52:59 547
原创 Singleton——单例模式
一、定义 在GOF中,对单例模式的意图这样描述:(1)保证一个类仅有一个实例 (2)提供一个访问它的全局访问点。二、场景设计 在有些环境下,我们需要某个类只能有一个实例。例如一颗文件树中的缓存结构,对于系统中的所有文件,只需要一个缓存实例。还有,系统中的回收站,同样也只需要一个实例。
2013-12-05 01:40:52 641
原创 Uva 11039 - Building designing
题目链接:Uva 11039 - Building designing题目大意,有n个绝对值个不相同的非0整数,选出尽量多的数,排成一个序列,使得正负号交替排列,且绝对值递增。求最长序列长度。import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;public class Mai
2013-12-02 01:18:19 827
原创 Uva10340 All in All
题目链接:Uva10340 All in All题目大意:给定两个字符串s和t,判断s是否为t的子串。即从t中移除若干个字符,剩下的字符是否可以得到s。题目本身没难度,但是要注意的是:Java中的StringBuffer比较,一定要先转成String(toString)然后再用equals比较import java.util.*;public class Main { /
2013-12-02 00:50:34 575
原创 Uva1368 DNA Consensus String
题目链接:Uva1368-DNA Consensus String题目大意: 输入m个长度为n的DNA序列,构造一个DNA序列,使得这个DNA序列与m个DNA序列的Hamming距离之和最小。若有多个解,输出字典序最小的解。import java.util.*;public class Main { /** * @param args */ public stati
2013-12-02 00:22:34 720
原创 Uva1339 Ancient Cipher
题目链接:Uva1339 Ancient Cipher水题一道,题目描述很复杂,其实只要统计句子中的单词数目是不是对应相等就好了。import java.util.*;public class Main { /** * @param args */ public static void main(String[] args) { // TODO Aut
2013-12-01 23:55:28 790
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人