自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HFHHXH的专栏

我是在等待一个女孩,还是在等待沉沦苦海。。。

  • 博客(120)
  • 资源 (5)
  • 收藏
  • 关注

原创 php thrift

./bootstrap.sh./configure --with-qt4=no --with-qt5=no --with-csharp=no --with-erlang=no --with-perl=no --with-dart=no --with-ruby=no --with-haskell=no --with-rs=no --with-cl=no --with-haxe=no --with-d...

2018-03-13 10:15:13 536 1

原创 thrift servr

1.同步阻塞 CaculatorService.Processor processor = new CaculatorService.Processor( new CaculatorServiceHandler()); TServerTransport serverTransport = new TServerSocket(8888); A

2016-11-13 19:49:53 632

原创 thrift简单实例

eclipse:jar依赖 libthrift-0.9.3.jar slf4j-api-1.7.21.jar slf4j-log4j12-1.7.21 log4j-1.2.17.jarcaculator.thriftnamespace java com.serverservice CaculatorService { i32 add(1:i32 x1, 2:i32 x2); i

2016-11-10 22:07:37 481

原创 rpcgen

cal.xprogram CALCULATOR{  version CALVERS {    int SQUARE(int) = 1;  } = 1;} = 99;rpcgen cal.xcal_clnt.ccal_svc.ccal.hserver:cal_proc.c#include #include #include "cal.h

2016-11-09 18:45:15 507

原创 python xmlrpc

server.py#!/usr/bin/python3.4from xmlrpc.server import SimpleXMLRPCServerdef is_even(n): return n % 2 == 0server = SimpleXMLRPCServer(("localhost", 8000))print("Listening on port 8000...")s

2016-11-09 18:41:27 575

原创 mapreduce编程

wordcount测试:文件1,文件100;不设置combiner,设置combiner1.java2.streaming,python3bin/hadoop jar share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar -input input1 -output output1 -mapper "/home/xiumu/map

2016-11-05 22:42:17 468

原创 docker入门

Ubuntu Xenial 16.04 (LTS)apt-get updateapt-getinstall apt-transport-https ca-certificatesapt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys58118E89F3A912897C070ADBF

2016-10-27 18:34:13 460

原创 回文

1.不连续的子串翻转一次,转化为求最长公共子序列(LCS),代码略,O(n^2)2.连续的子串①枚举start、end,判断是否回文,O(n^3)②枚举中点(分奇偶情况),向两边延伸,O(n^2)③后缀树,此处不予讨论④manacher算法,最高效的方法,O(n)充分利用了已经算出来的结果:对字符串预处理,逐位扫描,先利用前面基本确定p[i](以i为中心的最长回文串向一

2016-09-18 09:58:47 468

原创 vim

set ts=2set sw=2set number = set nuset nowrapset autoindent = set ai-R-b-p[N] Open N tab pages (default: one for each file)-o[N] Open N windows (default: one for each file)-O[N]

2016-04-29 11:07:14 485

原创 hadoop

java/etc/profileexport JAVA_HOME=/usr/local/share/jdk  export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATHsshrsy

2016-04-29 10:39:18 540

原创 KMP

KMP算法是一种改进的字符串匹配算法KMP的核心在于NEXT数组。初始化next数组很巧妙,用next自己匹配自己,使得复杂的从m*m下降到m求next数组和kmp匹配的函数有相似之处暴力搜索复杂度m*n,KMP为m+n,效率很不错,不过在一些特定情况下kmp表现也会很糟糕,此处不做讨论。void init_next(char *t, int *next) {

2016-03-27 21:26:57 447

原创 JNI

JNI——Java Native Interface新建java工程,使用eclipsepackage jnitest;public class JniTest { static{ System.loadLibrary("xmjni"); } public native void printHello(); public static void main(St

2016-01-02 16:12:48 393

原创 MST——Kruskal

最小生成树的另一个算法,需要用到sort排序,而且这个sort有点儿绕。而且需要检测连通的话需要多一些操作。const int maxn = 110;const int maxm = 10010;const int max_int = ~(1<<31);const int min_int = (1<<31);int p[maxn];int u[maxm], v[maxm], w[m

2015-11-23 20:05:54 454

原创 MST——Prime

和Dijkstra算法非常非常像,只有一点点不同,数组d的含义变了,之前是到s的距离,现在是到集合的距离,也是贪心算法。const int maxn = 110;const int max_int = ~(1<<31);const int min_int = (1<<31);bool vis[maxn];int cost[maxn][maxn], dist[maxn];//[0,m

2015-11-23 16:40:24 721

原创 排序

//1.直接插入排序,稳定//很久以前就学过直接插入了,但是写起来还是出了挺多问题的void inssort(int *d, int s, int e){ for(int i = s+1; i <= e; ++i){ int x = d[i]; int j = i-1; while(j >= s && d[j] > x){ d[j+1] = d[j]; --j;

2015-11-20 19:42:16 639

原创 二分查找

关于区间的选择,觉得还是闭区间优于左闭右开,选用闭区间。//[l, r]//相等的,找不到返回-1int bs1(int *d, int l, int r, int v){ while(l < r){ int m = (l+r)>>1;// printf("%d %d %d\n", l, r, m); if(v > d[m]){ l = m + 1; }else i

2015-11-19 10:18:02 388

原创 博弈论——2

去火柴问题,取完为败题目1:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,可将一堆全取走,但不可不取,最后取完者为胜,求必胜的方法。 题目2:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,可将一堆全取走,但不可不取,最后取完者为负,求必胜的方法。T,利他态,异或为0S,利己态,异或不为0孤单堆,仅有一根火柴充裕堆,大于一根火柴

2015-11-04 10:17:01 522

原创 博弈论——1

取完为胜P点,必败点N点,必胜点① 所有终结点都是必败点P。② 所有一步能走到必败点P的就是必胜点N。③ 通过一步操作只能到必胜点N的就是必败点P。这三条性质很重要,可以解释下面所有问题的解法。本文中解释略过,只给出解法。1.一堆,每次取若干个打表,从尾到头。2.巴什博奕(Bash Game)一堆,每次取1~m个打表,从尾到头,同上。或者,更简单的,

2015-11-04 10:16:41 453

原创 背包问题

来自著名的背包九讲,算是笔记吧。n件物品,背包体积V、质量U,物品体积a[i]、质量b[i]、价值c[i],求最大价值。1. 01背包一种物品只有一件,可选可不选f[i][v] = max(f[i-1][v], f[i-1][v-a[i]]+c[i])i 顺序,v 逆序,空间复杂度可以降低一维2. 完全背包每种物品无限多f[i][v] = max(f[i-1][v]

2015-10-31 11:21:02 433

原创 python语法

if x < 0: x = 0 print('Negative changed to zero') elif x == 0: print('Zero') elif x == 1: print('Single') else: print('More')for w in words: print(w, len(w))for i in range(5): print(i)break and contin

2015-10-29 16:18:25 496

原创 DP

状态,保存当前所有状态状态转移方程最优子结构,全局最优解包含局部最优解重叠子问题两种动机:利用递归的重叠子问题,进行记忆话求解,即先利用递归法解决问题,再利用重叠子问题转化成动态规划;把问题看作是多阶段决策过程。两种实现方式:递推(向前和向后)和记忆化搜索。如果需要记录选择、打印路径的话需要辅助数组。

2015-10-28 15:43:35 338

原创 贪心

贪心策略,保证策略正确,每一步都是最优。如果不能保证每一步都是最优,可以选择保存所有状态,然后就转到DP了。

2015-10-28 10:38:47 350

原创 DFS

深度优先搜索递归,或者栈替代,实现比较复杂。

2015-10-28 10:34:47 436

原创 BFS

宽度优先搜索队列

2015-10-28 10:34:01 330

原创 最短路——Floyd

求每两点之间的最短路。还有个有意思的用处,判断每两点之间是否有通路,初始值设为0或者1,d[i][j] = d[i][j] || (d[i][k] & d[k][j]),有向图的传递闭包。for(int k = 0; k < n; ++k){ for(int i = 0; i < n; ++i){ for(int j = 0; j < n; ++j){ if(d[i][k] !=

2015-10-27 15:30:57 332

原创 最短路——SPFA

Bellman-Ford基础上的队列优化,效率比较高,可以检测负环。const int maxn = 110;const int max_int = ~(1<<31);const int min_int = (1<<31);bool inq[maxn];int cost[maxn][maxn], dist[maxn], cnt[maxn], q[maxn], front, rear;

2015-10-27 15:12:13 366

原创 栈和队列

数组模拟实现。模板不熟,改为模板更好一些。class stack {private: int maxsize, t; int *s;public: stack(int n) : maxsize(n), t(0){ s = new int[maxsize]; } virtual ~stack(){ delete []s; } void push(int v){ s[

2015-10-23 19:41:18 276

原创 最短路——Bellman-Ford

可以处理负边,负环。int dijkstra(int s){ for(int i = 0; i < n; ++i){ dist[i] = max_int; } for(int k = 1; k < n; ++k){ for(int i = 0; i < m; ++i){ int x = u[i], y = v[i]; if(dist[x] < max_int){

2015-10-21 10:46:06 466

原创 最短路——Dijkstra

Dijkstra算法,不能处理负边负环,不连通时返回-1。使用优先队列可以优化——spfa,下一篇会介绍。const int maxn = 110;const int max_int = ~(1<<31);const int min_int = (1<<31);bool vis[maxn];int cost[maxn][maxn], dist[maxn];//[0,max_in

2015-10-19 11:01:35 511

原创 哈希

哈希用来查找,哈希的冲突处理,结构类似于线性表,也可以用来存储图,稀疏图,允许重边。插入到头部,效率高一些,但是顺序相反了。const int maxn = 110;const int maxm = 10010;int head[maxn], next[maxm];void init(){ for(int i = 0; i < n; ++i){ head[i] = -1;

2015-10-17 15:59:17 396

原创 字典树

利用公共前缀减少查询时间,节省内存静态分配,动态分配malloc次数太多,效率不行const int maxc = 26;const int maxn = 1000010;typedef struct trie{ int v; struct trie *next[maxc];}trie;trie mem[maxn];int alloc;void init(trie *

2015-10-16 11:32:38 493

原创 并查集

const int maxn = 10010;int p[maxn];int find(int x){if(x != p[x]) p[x] = find(p[x]); return p[x];}int find(int x){return x == p[x] ? p[x] : p[x] = find(p[x]);}for(int i = 0; i < n; ++i){ p[i] =

2015-10-15 10:30:41 361

原创 linux mysql

mysql-server数据库文件/var/lib/mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTIONGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTIONGRANT

2015-08-22 15:06:38 596

原创 linux qt5.5发布 依赖库

网上很多人只说到了libqt5dbus.so,没有说libqt5xcbqpa.soexport QT_DEBUG_PLUGINS=1,然后执行程序,可以看到详细错误ldd命令可以查看依赖库export QT_LIBRARY_PATH=`pwd`

2015-07-24 15:24:58 3365

原创 ffmpeg linux编译

yasm,aptitude install pkg-configx264,http://www.videolan.org/developers/x264.html,./configure --enable-shared --prefix=【自定义目录】makemake installexport PKG_CONFIG_PATH=【上面定义的目录里的那个p

2015-07-13 21:33:22 529

原创 select poll epoll

selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。sel

2015-07-13 20:34:07 645

转载 QT中QWidget、QDialog及QMainWindow的区别

QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。     QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口

2015-07-10 14:15:28 515

原创 qt图像类

Qt provides four classes for handling image data: QImage, QPixmap, QBitmap and QPicture. QImage is designed and optimized for I/O, and for direct pixel access and manipulation, while QPixmap is de

2015-07-09 21:47:13 496

原创 qt5.5 windows

用个qt怎么这么多问题啊qt cannot open main.obj for wirte工具→选项→构建和运行取消 使用jom代替nmake

2015-07-08 21:12:32 498

原创 gtk 截屏

GdkScreen *screen = gdk_screen_get_default();GdkWindow *window = gdk_get_default_root_window();int width = gdk_screen_get_width(screen), height = gdk_screen_get_height(screen);GdkPixbuf *buf = g

2015-07-07 18:51:48 1184

gtest-1.7.0

gtest测试框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试而生成的。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。需要详细了解的朋友可以参阅《玩转Google单元测试框架gtest系列》该篇文章。

2014-08-19

QQ截图工具绿色版

QQ截图工具绿色版

2013-04-22

eclipse ve插件

eclipse Helios 3.6可用,内附使用说明

2012-12-19

ECQ-PS超级进程王 v4.rar

ECQ-PS超级进程王 v4.rar ECQ-PS超级进程王 v4.rar ECQ-PS超级进程王 v4.rar ECQ-PS超级进程王 v4.rar ECQ-PS超级进程王 v4.rar

2009-05-09

MAC隐形人.exe

MAC隐形人.exe MAC隐形人.exe MAC隐形人.exe MAC隐形人.exe MAC隐形人.exe

2009-05-09

空空如也

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

TA关注的人

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