- 博客(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
599
1
原创 thrift servr
1.同步阻塞 CaculatorService.Processor processor = new CaculatorService.Processor( new CaculatorServiceHandler()); TServerTransport serverTransport = new TServerSocket(8888); A
2016-11-13 19:49:53
695
原创 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
541
原创 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
609
原创 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
630
原创 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
516
原创 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
500
原创 回文
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
538
原创 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
550
原创 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
595
原创 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
495
原创 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
445
原创 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
505
原创 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
770
原创 排序
//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
691
原创 二分查找
关于区间的选择,觉得还是闭区间优于左闭右开,选用闭区间。//[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
428
原创 博弈论——2
去火柴问题,取完为败题目1:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,可将一堆全取走,但不可不取,最后取完者为胜,求必胜的方法。 题目2:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,可将一堆全取走,但不可不取,最后取完者为负,求必胜的方法。T,利他态,异或为0S,利己态,异或不为0孤单堆,仅有一根火柴充裕堆,大于一根火柴
2015-11-04 10:17:01
625
原创 博弈论——1
取完为胜P点,必败点N点,必胜点① 所有终结点都是必败点P。② 所有一步能走到必败点P的就是必胜点N。③ 通过一步操作只能到必胜点N的就是必败点P。这三条性质很重要,可以解释下面所有问题的解法。本文中解释略过,只给出解法。1.一堆,每次取若干个打表,从尾到头。2.巴什博奕(Bash Game)一堆,每次取1~m个打表,从尾到头,同上。或者,更简单的,
2015-11-04 10:16:41
525
原创 背包问题
来自著名的背包九讲,算是笔记吧。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
484
原创 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
553
原创 DP
状态,保存当前所有状态状态转移方程最优子结构,全局最优解包含局部最优解重叠子问题两种动机:利用递归的重叠子问题,进行记忆话求解,即先利用递归法解决问题,再利用重叠子问题转化成动态规划;把问题看作是多阶段决策过程。两种实现方式:递推(向前和向后)和记忆化搜索。如果需要记录选择、打印路径的话需要辅助数组。
2015-10-28 15:43:35
390
原创 最短路——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
371
原创 最短路——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
414
原创 栈和队列
数组模拟实现。模板不熟,改为模板更好一些。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
326
原创 最短路——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
507
原创 最短路——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
582
原创 哈希
哈希用来查找,哈希的冲突处理,结构类似于线性表,也可以用来存储图,稀疏图,允许重边。插入到头部,效率高一些,但是顺序相反了。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
441
原创 字典树
利用公共前缀减少查询时间,节省内存静态分配,动态分配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
537
原创 并查集
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
401
原创 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
631
原创 linux qt5.5发布 依赖库
网上很多人只说到了libqt5dbus.so,没有说libqt5xcbqpa.soexport QT_DEBUG_PLUGINS=1,然后执行程序,可以看到详细错误ldd命令可以查看依赖库export QT_LIBRARY_PATH=`pwd`
2015-07-24 15:24:58
3470
原创 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
571
原创 select poll epoll
selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。sel
2015-07-13 20:34:07
692
转载 QT中QWidget、QDialog及QMainWindow的区别
QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。 QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口
2015-07-10 14:15:28
559
原创 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
552
原创 qt5.5 windows
用个qt怎么这么多问题啊qt cannot open main.obj for wirte工具→选项→构建和运行取消 使用jom代替nmake
2015-07-08 21:12:32
546
原创 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
1274
gtest-1.7.0
2014-08-19
ECQ-PS超级进程王 v4.rar
2009-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人