自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 thrift介绍与简单应用

thrift介绍与简单应用1 为什么要使用thrift1.1 应用场景在哪儿1.2 其他方案比较1.3 不支持什么:2 thrift 基本概念2.1 层级3 简单应用3.1 idl3.2 生成接口3.3 实现服务3.4 实现调用4 比较swift(*)1 为什么要使用thrift1.1 应用场景在哪儿1.2 其他方案比较1.3 不支持什么:不能返回null不支持继承,多态2 th...

2018-11-05 23:33:19 1008 1

原创 rsa加解密的内容超长的问题解决

一. 现象:     有一段老代码用来加密的,但是在使用key A的时候,抛出了异常:javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes。老代码已经做了分段的加密,应该是已经考虑了加密长度的问题才对。换了另一个线上代码中的key B,正常加密没有异常。二. 解决:   

2016-12-21 11:35:57 40078

原创 平摊分析 --- 算法导论读书笔记

我们经常会说一个算法快不快,这个可以由实验得出,也可以通过分析复杂度得出。实验需要大量不同的输入才更全面准确,否则片面地看某个输入下的表现,是比较偏颇的。分析复杂度(通常分析最坏,因为平均涉及输入的概率分布,依靠假设或者实验和经验)有时候并不是一个简单的事,简单的情况是遍历 for(int i = 0; i != n; i++) 的这种情况,显然是O(n)的复杂度。但是一些复杂的情况就比较难办了,

2014-12-29 23:18:26 2440

原创 字符串匹配问题 ---- 算法导论读书笔记

字符串匹配是一个很常见的问题,可以扩展为模式的识别,解决字符串问题的思想被广泛地应用。介绍四种解决该问题的办法,包括:最朴素的遍历法,Rabin-Karp算法,自动机机匹配,Knuth-Morris-Pratt算法即耳熟能详的KMP。        在一开始,先对时间复杂度做出一个总扩(从大到小):【1】朴素法:O( (n-m+1)m );【2】Rabin-Karp:预处理:O(m),匹配:最

2014-12-09 11:54:22 1585

原创 LeetCode: Longest Valid Parentheses O(n)时间 O(1)空间

题目:Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parentheses substrin

2014-11-27 22:25:50 798

原创 cxf+spring webservice实战

本文用cxf+spring构建webservice。其中主要是cxf与spring的配合。同时用maven构建,用junit测试service。首先,pom文件如下:

2014-09-10 17:01:37 782

原创 codeforces 5.E. Bindian Signalizing

E. Bindian Signalizingtime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputEveryone knows that long ago on the

2014-05-23 10:44:15 832

原创 codeforces 5C Longest Regular Bracket Sequence -- 贪心

C. Longest Regular Bracket Sequencetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThis is yet another pro

2014-05-16 22:08:35 1182

原创 codeforces 4D Mysterious Present -- 动态规划

D. Mysterious Presenttime limit per test2 secondsmemory limit per test64 megabytesinputstandard inputoutputstandard outputPeter decided to wish happy birthday t

2014-04-29 23:34:19 696

原创 Codeforces 3D Least Cost Bracket Sequence --- 贪心

D. Least Cost Bracket Sequencetime limit per test 1 secondmemory limit per test 64 megabytesinput standard inputoutput standard outputThis is yet another proble

2014-04-28 16:44:45 740

原创 codeforces 2C Commentator problem (2) -- 模拟退火

前面介绍了普通j

2014-04-17 21:17:09 1177

原创 codeforces 2C Commentator problem (1)-- 几何

C. Commentator problemtime limit per test1 secondmemory limit per test64 megabytesinputstandard inputoutputstandard outputThe Olympic Games in Bercouver are in

2014-04-17 20:43:11 1388

转载 session和cookie的区别

转自:http://www.chinahtml.com/1007/128010707619425.htmlsession和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在点击流及基于用户浏览行为的网站分析中却相当关键。基于网上一些文章和资料的参阅,及作者个人的应用体会,对这两个概念做一个简单的阐述和辨析,希望能与大家共同探讨下。  session

2013-05-20 12:03:56 698

转载 Java socket 说明

另外http://www.cnblogs.com/fengmk2/archive/2007/01/15/using-Socket.html可供参考一Java socket 说明 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。以J2SDK-1.3为例,Socket和S

2013-05-13 15:21:10 925

转载 单例模式的7种写法

(转载自:http://cantellow.iteye.com/blog/838473参考 http://webservices.ctocio.com.cn/java/99/9189599.shtml 优先考虑静态内部类的方案)第一种(懒汉,线程不安全): Java代码  public class Singleton {      p

2013-05-10 20:16:16 557

原创 poj1860 Currency Exchange --- Bellman-Ford

题目大意:小明有一种Currency,可以换成其它的再换回来,换的时候要交一点commission,问最后他的钱会不会变多。思路:首先必然是要有环的,然后这个环应该是转一圈下来是正的(正常的为负),恰好和Bellman-Ford负环情况相反,那我们把松弛操作反过来就可以用了。(正常情况是不应该增长的,我们换个角度,把代价看做正的,那么赚的话就对应负环了,于是是求最短路,短到负就更好了)

2013-05-06 15:23:33 654

原创 每对顶点间的最短路径基本算法 --- 算法导论笔记

之前有了单源最短路的基本算法,如果我们希望求每对顶点间的最短路径,可以把单源路径重复运用,也可以整体用动态规划的思路求解。    提出两个动态规划的思路:按经过边的数量考虑(最多经过v-1条边),按增加一条边构造递推公式;按经过中间点的集合考虑(最多经过所有点),按增加一个点构造递推公式。    其实我们可以感性地看出,后一种思路更优,因为它递推中隐含着边的数量(加一个点则最多经过的边的数

2013-04-06 22:35:42 928

原创 将日志信息(系统性能参数)记录到MongoDB --- 2:写入记录

到现在我们已经安装好了MongoDB,前面也得到了虚拟机的性能参数,现在我们要把这些参数写入DB。为了以后便于查询 ,我们需要把各个参数区分开来(之前是整个是一个字符串),而这一步可以在server端进行也可以在client端进行,为了减轻server的负担,还是选择在client端进行。为了方便server 端的插入,我们就在client端用hash_map存储分开后的信息,然后将hash_ma

2013-04-06 20:26:06 723

原创 将日志信息(系统性能参数)记录到MongoDB --- 1:准备工作

在前面我们得到了虚拟机性能参数,现在我们要把信息作为日志记录下来。选择了MongoDB作为持久化层。    首先,我们按照官网的提示很快就安装就好了,给出链接http://docs.mongodb.org/manual/。可以接着按照官网教程简单操作一下,还是比较直观的。然后我们当然是要用JAVA去操作它,那么继续去官网下载JAVA驱动,一切就绪之后就可以开始写代码了。    结合之前so

2013-04-04 15:52:03 766

原创 用java获取并传出虚拟机系统实时性能参数(3:socket传递参数)

现在开始把各个虚拟机的信息传到服务器上,这里实际上是一个多线程单向的传输,在网上查找相关资料,推荐http://blog.csdn.net/zhangty0223/article/details/8744223,改出自己的代码,实验证明可用。MySystemMonitor类见我之前写的http://blog.csdn.net/taoxin52/article/details/8687852。s

2013-04-04 10:32:32 597

原创 用java获取并传出虚拟机系统实时性能参数(2:配网络)

首先,我们创建虚拟机,用VirtualBox创建(有一个Ubuntu 10.10的镜像),然后配置网络。这里还折腾了一下。    我用的静态IP,先将VirtualBox设置一下,打开settings,如图进行配置:            可是,当我们进入系统,用ifconfig查看时,并没有eth0,继而我们打开 sudo gedit /etc/network/interface

2013-04-01 20:53:28 729

原创 最小生成树基本算法---算法导论读书笔记

首先谈下对最小生成树(Minimum Spanning Tree, MST)用处的理解,然后给出经典的Kruskal和Prim算法的伪码和理解。    首先显然它是解决最优化问题的,用的是贪心的思想(于是显然它是非常“优”的了,能用它解决就用它吧)。    最小生成树是从一个图简化而来,保留所有的(从树的角度来讲是连通图的所有)顶点以及连通性,砍掉尽可能多的边并使得剩下的边权值的和

2013-03-28 23:02:33 885

原创 单源最短路径的基本算法 -- 算法导论笔记

通用的Bellman-Ford:        特点:能处理存在负权边的情况,并能判断是否存在负权回路。可以用在差分约束系统问题的求解,有解情况下最短路径是一组可行解。效率低,O(VE)。        过程:做 顶点数(V) - 1 次对所有边的松弛操作,也可以加一个flag检查到没有需要松弛的时候便结束,快一点。再检查一遍是否有边还能做松弛操作(把松弛操作比较部分反过来做判断条件),若

2013-03-21 22:53:53 936

原创 BFS DFS 的理解与应用 --- 算法导论读书笔记

先摘抄一段概述的话:        搜索一个图是有序地沿着图的边访问所有顶点。图的搜索算法可以使我们发现图的很多结构信息。许多图的算法在开始时,都是通过搜索输入的图来获取结构信息。另外还有一些图的算法实际上是由基本的图搜索算法经过简单扩充而成。因此,图的搜索技术是图算法领域的核心。BFS:        是Prim最小生成树和Dijkstra单源最短路的原型。

2013-03-20 20:51:16 3623

原创 poj 1010 STAMPS 解题报告 -- 搜索 遍历 剪枝

好吧。。这题很郁闷。。。一直不知道怎么就WA了,后来看到别人说数组开大点。。。就AC了。。。这不是坑么。。。题目大意:给出n种邮票,每种邮票有自己的面值(面值可能重复)  指定m种“总面值”,对每种“总面值”,求解满足如下条件的组合以达到该“总面值”(1) 所用邮票在n种中可以重复选取(2) 所用邮票张数〈=4(3) 尽量多的使用那个不同种类的邮票 Max (Sta

2013-03-19 19:26:31 669

原创 用java获取并传出虚拟机系统实时性能参数(1:得到性能参数)

准备构建一个日志系统,记录创建的虚拟机的实时性能参数。首先先要获取系统的性能参数,再将参数发送给服务器端存储下来。首先是搜了一个内存参数的代码(跨平台可用),略微修改,用的jre6:import java.io.*;import com.sun.management.OperatingSystemMXBean;import java.lang.management.

2013-03-18 16:47:30 1752

原创 poj 3083 Children of the Candy Corn 解题报告-- DFS BFS

题目大意:给出一个迷宫,#表示墙,S表示起点,E表示终点。求从S到E的优先靠左边的墙走、优先靠右边的墙走和S到E的最短路径。思路:考虑向左向右用DFS,最短路径用BFS。注意几点,一是尽量不用递归,开始用的递归,BFS会栈溢出,改用队列实现后没问题,而且其实逻辑上反而更统一,这里DFS还好,递归没有问题,大概是因为有向左向右的规则,并不是一味地遍历所有状态;再一个就是BFS实在是状

2013-03-15 22:01:19 664

原创 poj3038 Flying Right 解题报告 -- 贪心

题目大意:        一次往返飞行,给定容量,给所有希望搭乘的乘客的起点终点人数,求能最多能载几人?解决思路:        用P(M,N)表示从M飞到N能运送的数量(先以M        具体来讲维护一个有序的数组表示座位的终点,则只需要比较第一个位置就知道是否能搭上,然后用二分法迅速找到替换的人,保持有序。开始的思路认为只要维护一个堆就好了,但这样无法替换最优的人,

2013-03-14 22:11:59 966

原创 关于树(平衡树)的旋转--理解方便记忆

对于平衡树为了保持它的特性,我们经常会做旋转操作(左旋,右旋,左右双旋,右左双旋)。这个本来是一个很基础的东西,一直也没放在心上,但经常一说起来却忘了具体是怎么操作的,于是写下一点理解帮助记忆。(欢迎讨论,尤其是理解有误的欢迎指正。)自下向上地,在节点平衡因子(假设为 A 吧) |A| >= 2 (一般就等于2了)时就需要旋转,把这节点及以下看成独立的树也就可以将这节点看作根节点。A>

2013-02-07 01:39:38 1096

转载 最长递增子序列 (Longest Increasing Subsequence)

我转载两篇文章,同时给出一道poj题目的链接 http://poj.org/problem?id=2533转自:http://blog.csdn.net/linulysses/article/details/5559262问题描述: 给定一个序列 An = a1 ,a2 ,  ... , an ,找出最长的子序列使得对所有 i j ,ai aj 。显然,暴力算法

2013-01-29 12:59:39 736

转载 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离

转载自:http://www.cnblogs.com/zhangchaoyang/articles/2012070.html最大子序列最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方

2013-01-29 12:45:12 1108

空空如也

空空如也

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

TA关注的人

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