自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (1)
  • 收藏
  • 关注

原创 装饰者模式(Decorator Pattern)

Decorator Pattern模式动机一般两种方式可以实现给一个类或者对象增加行为:继承机制, 使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。关联机制,即将一个类的对象嵌入另一个对象中,由另一个对象来决定是否调用嵌入对象的行为以便扩展自己的行为,我们称这个嵌入的对象为装

2017-08-06 23:26:12 443

原创 观察者模式(Observer Pattern)

Observer Pattern模式动机建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。模式定义在对象之间定义一对多的依赖,这样一来,当一个对象改变状态

2017-08-05 22:49:06 408

原创 策略模式(Strategy Pattern)

策略模式的优点策略模式提供了对“开闭原则”的完美支持,用户可以在不修改原有系统的基础上选择算法或行为,也可以灵活地增加新的算法或行为。 策略模式提供了管理相关的算法族的办法。 策略模式提供了可以替换继承关系的办法。 使用策略模式可以避免使用多重条件转移语句。策略模式的缺点客户端必须知道所有的策略类,并自行决定使用哪一个策略类。 策略模式将造成产生很多策略类,可以通过使用享元模式在一定程度上减

2017-08-03 22:13:15 424

原创 经典排序算法的实现和比较(简略版)

七种排序算法的实现:1. 冒泡排序#includeusing namespace std;void BubbleSort(vector &v, int left, int right) { for(int i = left; i < right; i++) { bool flag = false; for(int j = 0; j < rig

2017-07-26 16:02:12 488

原创 线段树相关

这篇博文讲解的很详细,推荐:http://blog.csdn.net/zearot/article/details/48299459HDU 1166,单点更新这里粘贴一下线段树单点更新的模板#includeusing namespace std;const int N = 50005;int num[N];int Seg[N<<2]; //应该为原数组的4倍大小

2017-06-05 15:19:15 387

原创 Kickstart Round B 2017——Problem B. Center(及一点延伸)

题目介绍题目链接: https://codejam.withgoogle.com/codejam/contest/11304486/dashboard#s=p1 题目大意:二维平面上有N个点,每个点的坐标为(Xi, Yi),每个点的权重为Wi,找到一个中心点(X, Y),使得max(|X-Xi|, |Y-Yi|)*Wi的和最小。N最大10000。相关知识先介绍一些概念性的东西(机器学习的东西

2017-05-10 00:05:24 1377 2

转载 int main(int argc,char* argv[])详解

argc是命令行总的参数个数      argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如:      int  main(int argc,  char* argv[])      {          int   i;          for (i = 0; i            cout       cin

2016-11-28 10:46:58 775

转载 一步一步理解GB、GBDT、xgboost

GBDT和xgboost在竞赛和工业界使用都非常频繁,能有效的应用到分类、回归、排序问题,虽然使用起来不难,但是要能完整的理解还是有一点麻烦的。本文尝试一步一步梳理GB、GBDT、xgboost,它们之间有非常紧密的联系,GBDT是以决策树(CART)为基学习器的GB算法,xgboost扩展和改进了GDBT,xgboost算法更快,准确率也相对高一些。    1. Gradient b

2016-11-01 15:00:12 2015

原创 LeetCode 357. Count Numbers with Unique Digits

题目描述: Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Example: Given n = 2, return 91. (The answer should be the total numbers in the range of 0 ≤

2016-10-31 22:07:41 403

原创 LeetCode 31. Next Permutation

题目描述 Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it as the lowest

2016-09-25 20:44:55 425

原创 LeetCode 46. Permutations

题意描述 Given a collection of distinct numbers, return all possible permutations. For example, [1,2,3] have the following permutations: [ [1,2,3], [1,3,2], [2,1,3]

2016-09-25 16:15:17 329

原创 LeetCode 15. 3sum

题意描述 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Note: The solution set must not c

2016-09-16 10:46:35 368

原创 LeetCode 1.Two Sum

LeetCode 1.Two Sum题目描述Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution.Example:

2016-09-14 16:52:07 400

原创 Python下安装Numpy,Scipy,Matlotlib

NumPy(Numeric Python)系统是Python的一种开源的数值计算扩展,一个用python实现的科学计算包。它提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。内容包括:(1)一个强大的N维数组对象Array;(2)比较成熟的(广播)函数库;(3)用于整合C/C++和Fortran代码的工具包;(4)实用的线性代数、傅里叶变换和

2016-07-20 01:40:47 1173

转载 从贝叶斯方法谈到贝叶斯网络

从贝叶斯方法谈到贝叶斯网络转自:http://blog.csdn.net/v_july_v/article/details/409846990 引言    事实上,介绍贝叶斯定理、贝叶斯方法、贝叶斯推断的资料、书籍不少,比如《数理统计学简史》,以及《统计决策论及贝叶斯分析 James O.Berger著》等等,然介绍贝叶斯网络的中文资料则非常少,中文书籍

2016-04-27 00:22:55 8183

原创 如何解决IIS不支持Perl,出现“HTTP 错误403.1-禁止”问题

安装了一下午的某软件,不造为啥我总能遇见各种奇葩的问题!如题目,解决方法如下:1.前提是你在Windows上安装了IIS和Perl,Perl下载网址:http://www.activestate.com/activeperl2.单击【开始】【管理工具】【Internet Information Services(IIS)管理器】,打开IIS管理器;3.单击你想要设置的网站,然后

2016-01-26 20:28:27 1243 2

原创 分治法求最近点对

Implement the algorithm for the closest pair problem in your favorite language.INPUT: Given n points in a plane.OUTPUT: the pair with the least Euclidean distance.#include #include #incl

2015-11-30 16:22:18 2530 1

原创 归并排序求逆序数

#include #include #include #include #include using namespace std;long long numberOfInvertion; // the number of invertions.long long SortAndCount(vector &v, int low, int high);long long Merg

2015-11-30 16:18:56 519

原创 单纯形算法求解线性规划问题(依据《算法导论》实现)

#include #include #include #include #include using namespace std;const int MAXN = 100;const double INF = 999999.0;const double EPS = 1e-9;double b[MAXN]; //constraint in each equationdouble

2015-11-30 16:05:30 2665

原创 Huffman编码实现压缩、解压文件

Huffman编码:根据词频构建Huffman树,实现对文本的前缀编码。1、统计文本中每个字符出现的次数,放入优先队列中,构建一棵空的二叉树;2、取出频率最小的两个字符a、b,字符a、b的频率分别作为此二叉树的左右结点,左结点的编号为1,右结点的编号为0,其频率之和(fa+ fb)作为该二叉树的父亲节点,放入优先队列,并将fa  、fb从优先队列中除去;3、重复第二步操作,直至

2015-11-14 01:15:05 4696

原创 POJ 1323 Game Prediction 贪心

题目链接:http://poj.org/problem?id=1323题目大意:m个人(包括你)玩一个卡片游戏,每个人n张卡片,卡片上数字为小于等于n * m的正整数,没有重复的数字。每轮比赛,每个人拿出一张牌,卡片上数值最大的那个人获得本轮胜利。输入m、n,接着输入你获得的每张卡片上的数字,接着输入一个空行,求你最少可以获得几次胜利。题目解析:由于m,n较小,可以依次枚举

2015-10-15 15:19:47 658

原创 POJ 1230 Pass-Muraille 贪心

题目链接:http://poj.org/problem?id=1230题目大意:魔术师在舞台上表演穿墙术,舞台可视为由若干个单位为一的正方形组成的矩形。输入为n和k,n表示舞台上墙的总数目,k为魔术师的能量,即最多可以穿过k堵墙,接着输入每堵墙的坐标(s.x,s.y)、(e.x, e.y),每堵墙长度不定,宽度为1,即s.y=e.y。求最少需要去除多少堵墙才能使魔术师演出顺利。

2015-10-14 21:41:56 558

原创 POJ 1065 Wooden Sticks 贪心

题目链接:http://poj.org/problem?id=1065题目大意:需加工n个木棍,每个木棍有长度L和重量W两个参数,机器处理第一个木棍 用时1分钟,如果当前处理的木棍为L和W,之后处理的木棍L' 和W' 满足:L 题目解析:贪心策略,将木棍按照长度L从小到大排序,然后通过枚举每个木棍的重量,判断W有多少个上升的序列,即为最终所求。时间复杂度为O(n*n)。

2015-10-14 15:21:16 819

原创 POJ 1042 Gone Fishing

题目链接:http://poj.org/problem?id=1042  (黑书贪心第一道题,讲解很详细)题目大意:有n个钓鱼湖,John总共有h个小时的钓鱼时间,他希望在这段时间内钓到尽可能多的鱼。他从标号为1的湖开始钓鱼,可以在任意一个湖停留任意时间,最后在某个湖边结束钓鱼,每次钓鱼用时5分钟,从湖i到i+1用时为5*t[i],在每个湖i处第一个5分钟内可以钓到f[i]条鱼,以后每

2015-10-13 23:08:07 545

原创 Qsort 二级排序

#include #include struct Node{int x;int y;}s[100];int Comp(const void *a, const void *b){ struct Node *c = (Node *)a; struct Node *d = (Node *)b; if( c->x != d->x) return c->x

2014-07-11 00:40:53 1488

原创 模式匹配KMP POJ2752

题目地址:http://poj.org/problem?id=3461题目大意:在T串中找出W串出现的次数,T串的长度小于等于1000000,W串的长度小于等于10000。解题思路:赤裸裸地KMP,可是最近果真总是作死的节奏,一直感觉我对地址下标、数字神马的比较敏感,今天卡了将近一个小时。。。程序代码:

2014-05-19 00:29:33 711

原创 快速排序实现稀疏矩阵的转置

突然感觉快排都不会写了,只是

2014-05-18 00:43:33 1003

原创 模式匹配KMP POJ 3461

http://poj.org/problem?id=3461

2014-05-17 23:53:31 766

原创 Visual studio 2010 OpenGL配置

题记:今天tong

2014-04-26 23:03:56 1418 3

转载 英文邮件书写格式

英文书信是一种最常用的应用文体,对于普通的私人信件通常由五部分组成:1.信头:指发信人的地址和日期。写在信纸的右上角,可以从靠近信纸的中央写起。信头上面要留空白。先写发信人地址。地址的写法与汉语不同,要先写小地方,后写大地方。在地址的下面写上日期。日期的顺序是:月、日、年,或者:日、月、年。例如:May 17 2003。在年份之前有一个逗号。2.称呼:指对收信人的称呼。写在信头之

2014-04-26 16:18:03 8666

转载 计算机网络学习笔记——第三章课后题答案详解

首先重新说一下CSMA/CD协议CSMA/CD的规则:1、每个想要发送数据的结点,监听信道是否空闲,如果空闲就立即发送数据,并且继续监听;2、如果信道忙就一直监听,直到信道空闲,立即发送;3、在传输过程中,一旦发现冲突,立即停止发送,并且发送干扰信号来强化冲突,以便让其他结点知道;4、发送完干扰信号后,等待一个随机时间再试图发送,

2014-04-15 22:53:28 8750 10

原创 关于QQ通讯录的应用及vcf文件导入手机的乱码问题

题记:最近果真是诸事不顺,没钱的日子里手机又丢了,还是比较伤心滴,更伤心地是我那里面有各种日期提醒啊,无限郁闷中。。。最最伤心的是我好久都没备份手机通讯录了,好多人的联系方式都没了,不过这两天倒是记住不少人的手机号,也突然间意识到:手机里有那么多人根本就没用啊。。。好吧,说正事,如下:QQ通讯录如何使用捏?1. 首先登陆QQ,右下角处有个九宫格或者是四宫格(即【打开应用管理器】),

2014-03-30 00:13:00 7122

转载 XP 怎样建立宽带连接

BTW:今天在图书馆自习,老爸突然打过电话,说家里换机箱了,问我怎么连网,于是乎,就有了下面的“文章”,成功“远程调控”,帮老爸解决问题,虽然很弱智,但真的好开心啊~ ~  嗒嗒嗒 ~ ~1.首先在桌面上用鼠标右键点击网上邻居,选择“属性”,出来网络连接的文件夹,现在左边任务栏的“创建一个新的连接”。2.点击创建一个新的连接,出来欢迎使用新建连接向导,点击下一步

2014-03-10 22:53:05 1990

转载 贝索斯:聪明是一种天赋,而善良是一种选择

亚马逊创始人Jeff Bezos在普林斯顿大学2010年毕业典礼上的讲话。或许这种选择更能理解他个人在这个彷徨的时代,对《华盛顿邮报》等媒体的收购。以下是全文:在我还是一个孩子的时候,我的夏天总是在德州祖父母的农场中度过。我帮忙修理风车,为牛接种疫苗,也做其它家务。每天下午,我们都会看肥皂剧,尤其是《我们的岁月》。我的祖父母参加了一个房车俱乐部,那是一群驾驶Airstream拖挂型房车的人们,

2014-02-09 10:42:50 1494

原创 SQL2005创建登录名时显示:已成功与服务器建立连接,但是发生错误233

网址:http://hi.baidu.com/personname/item/cb28b914150cff5ef0090e1e?qq-pf-to=pcqq.c2c我安装的是2008的,没遇到这样的问题,正好同学问我,嘎嘎,无意间也帮助了自己~~  因为机房安装的是2005啊,明天要是遇到这个问题,我就死翘翘了!

2013-12-09 20:43:38 1336

原创 ODBC 连接数据库 SQL server 2008

1、打开【控制面板】-> 【系统和安全】 -> 【管理工具】-> 【数据源(ODBC)】 2、双击【数据源(ODBC)】-> 选中【系统DSN】3、单击【添加】,会弹出如下对话框,选中【SQL server】->【完成】4、弹出如下对话框,在【名称】中填入数据源名称 例如:我命名为: LocalServer,在【服务器】中填入计算机名或者IP地址,我连接

2013-12-07 08:35:00 7972 6

转载 OSQL用法

使用:OSQL.EXE和SQLCMD.EXE工具:他们都在SQL server2008在C:\Program Files\Microsoft SQL Server\100\Tools\Binn,有的可能在C:\Program Files\Microsoft SQL Server\90\Tools\Binn,你自己找找。然后看看PATH路径中有没有path=C:\Program Files\M

2013-12-06 23:52:27 6354

转载 sqlcmd 命令

SQLCMD的介绍  文章转载自:http://blog.sina.com.cn/s/blog_3eec0ced0100mhm2.html最近经常用到超过80M *.sql文件的导入问题。上网找了一下,发现超过80M的文件是不能在查询分析器中执行的。 找了些解决方案,个人感觉最简单的方法就是这个SQLCMD的,拿出来分享一下,也方便日后自己使用。

2013-12-06 23:50:53 2148

原创 sql server 2008 创建登录名

1.  以windows身份验证先连上数据库,选择【安全性】->【登录名】2. 右击【登录名】选项-> 【新建登录名】 如右图所示:输入登录名 ->选中【SQL server 身份验证】 ->输入密码 ->【默认数据库】中选择想要操作的数据库3. 单击左上角的【数据库角色】,默认值为public  4. 单击左上角的【用户映射】 选中要操作的数据库,单击确定。如下图所示:

2013-12-02 22:59:26 4009

原创 Hibernate开篇 by Cdy

Hibernate 作为一个O/R框架,主要功能是让我们可以以面向对象的方式来操作数据库,而不是用面向过程的方式。其工作的大概流程为:1,创建一个configuration对象,进行配置。2,通过Configuration对象建立SessionFactory对象3,通过SessionFactory对象创建Session对象4,通过Session进行事务的管理初次使用

2013-11-30 00:11:54 772

windows64+Python3.4下Numpy+Scipy+Matplotlib安装文件

windows64+Python3.4下Numpy+Scipy+Matplotlib安装文件,部分含有.exe文件

2016-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除