工程
文章平均质量分 74
zzucaicai
科学院南路6号
展开
-
工程中的网络流
赵程同学问我个他项目中的问题让我突然觉得搞的算法还是蛮有用的,题目的这样的。求一个01矩阵,满足每行的1数和每列1数为给定值。思路是:先按行填好1,然后移动来满足列的要求。移动时要保证每个点只能移动的一个位置,一个位置只能接受一个移动。网络流建6层节点来满足这些约束要求第一层原点到第二层列表示 该列要流出多少1第二层列 到 第三层 表示列可以流到的行,位置为1才可以流出(每列都对应所有原创 2015-10-28 18:18:59 · 431 阅读 · 0 评论 -
boost 字符串常用函数初窥
boost/algoththm/string.hpp 中常用函数测试。包含:split cast_conv erase find predicate replace trim regex等#include #include #include #include #include #include #include #include int main(int argc,原创 2016-03-07 17:07:47 · 517 阅读 · 0 评论 -
boost 统计分布之正态分布
项目要计算一个联配(alignment)的显著性,用p-value来衡量。随机联配做背景分布,而随机联配是正态的。学习了一下boost的数学分布。太好用了,妈妈再也不用担心我写错公式了。。。下面是测试代码:原创 2016-01-20 15:24:43 · 3210 阅读 · 0 评论 -
google c++编程规范(重点记录)
一:头文件 作用域使用前置声明,减少.h文件的#include数量,减少编译依赖函数输入参数在前(const references),输出参数在后(non-const pointer)include顺序:c,c++,其他库,本项目库函数,类内部使用 using ::foo::bar 或 namespace fez = ::foo::bar::baz减少不必要的构造函数和析构函数原创 2016-02-16 15:37:07 · 598 阅读 · 0 评论 -
boost mutex lock学习及测试
boost真是博大精深呀这次学习了一下几本的锁和信号量。其中包含:mutex recursive_mutex lock unique_lock basic_lockable_adpator timed_lockable_adpator,其他的adpator应该也都一样,例如(shared_lockable_adaptor等)参看:http://www.boost.org/doc/lib原创 2016-03-11 10:16:13 · 914 阅读 · 0 评论 -
boost bind及多线程
之前项目中用到学习了一下,今天总结总结bind生成一个仿函数,可以配接任意函数(裸函数,类成员函数,静态成员函数)指定参数传递方式个数。在需要仿函数的地方(accumulate,for_each等)超级好用原创 2016-03-14 09:08:59 · 1715 阅读 · 0 评论 -
画图工具使用gnuplot&graphviz
gnuplot 画简单分布图。工程中混合高斯模型看效果要用 记录一下画出类似下面图一#!/bin/bashif [ $# != 1 ]; then echo "Usage: $0 dir" exit 0firm *.datarm *.jpgdir=$1files=`ls ${dir}`i=1for file in ${files}do file原创 2015-12-18 15:27:25 · 1269 阅读 · 0 评论 -
高端笔试题-Inter美国职位
Inter美国职位的面试题,师兄对c++不是很熟,让我帮忙写。看了题目写了后感觉这职位就是为我量身定做的呀T_T,但是人家PHD only。。。题目是给一个高纬矩阵,维数和每一维的长度都未知,但是每一维的长度都是2^x,即2^d1, 2^d2,..., 2^dn,让对这各矩阵downsample,也就是数据降维。每次降维就是把原矩阵降成 2^(d1-1), 2^(d2-1),..., 2^(d原创 2016-01-12 09:36:10 · 529 阅读 · 0 评论 -
linux 下使用log4cxx服务
写的代码中要使用log日志,师兄用了log4cxx,所以搜了一下。记录下来以备后用一.下载解压http://logging.apache.org/log4cxx/, http://apr.apache.org/apr-1.4.6.tar.gz, apr-util-1.4.1.tar.gz, apache-log4cxx-0.10.0.tar.gz1.tar zx原创 2016-01-14 11:26:08 · 1080 阅读 · 0 评论 -
学习记录
编译报错:nanoARCS-molecule.o:(.data+0x0): multiple definition of `FLES::_FLESK'解决方案:因为一个有static成员的类,static成员定义在 .h 文件中,.h被多次包含报错,将成员定义写在单独的 .cpp 中即可原创 2016-01-14 14:41:54 · 361 阅读 · 0 评论 -
混合高斯模型&AIC-BIC挑选中心个数
实验室项目中要把数据按正态分布分成几类,但是有不知道有几类,估计不超过三类。然后就用了BIC准则选择类个数,效果出奇的好 哈哈哈哈GMM初值对结果会有很大影响,按数据min,max均分正态的均值,然后用整体数据的方差作为初始方差 完美的解决了这个问题。可能是我们数据本身的原因。研一学的总算用上一点 好开心const static int MAX_ITERATOR = 1000;原创 2015-12-07 10:29:34 · 6342 阅读 · 0 评论 -
师兄的vim配置(据说公司的人都用这个)
" An example for a vimrc file."" Maintainer: Bram Moolenaar " Last change: 2002 Sep 19"" To use it, copy it to" for Unix and OS/2: ~/.vimrc" for Amiga: s:.vimrc" for MS-DOS and Wi原创 2015-11-18 10:40:27 · 424 阅读 · 0 评论 -
getopt_long使用方法
看开源代码 感觉这以后总会用到,写的也简洁static const char* shortopts = "p:o:m:d:g:b:a:r:x:l:sv";enum { OPT_HELP = 1, OPT_VERSION, OPT_VALIDATE, OPT_EDGESTATS, OPT_EXACT, OPT_MAXINDEL, OPT_TR, OPT_MAXEDGES };static转载 2015-11-18 14:50:39 · 363 阅读 · 0 评论 -
测试 unistd.h 中的getopt
测试 getopt全局数据:opterr: 默认值1 置0不输出错误信息(没有指定的参数、要求有value的参数没设置value)optarg: char* 类型,指向key对应的value,遇未设置或开关参数为NULLoptind:下一个要处理的argv下标getopt返回int表示找到的的key字母,如果没有在optstring中则返回?输出error信息。没有“-”开头则原创 2015-10-29 16:14:33 · 495 阅读 · 0 评论 -
Makefile
autogen.shconfigune.ac //修改 缺少库要自己加Makefile.am2078 mkdir test 2079 cd test/ 2080 ls 2081 cp ../ARCS2/configure.ac ./ 2082 ls 2083 cp ../ARCS2/autogen.sh 2084 cp ../ARCS2/原创 2015-10-28 19:13:47 · 354 阅读 · 0 评论 -
使用boost graph library计算图中点和边的betweenness
项目中用到的东西,betweenness是社交网络里的概念。基于的思想是betweenness高的点和边在网络中更重要。betweenness具体定义见这里搜了一下发现boost已经有实现,但是用起来也真是费了牛劲。模版类一不小心就写错,而且编译出错信息完全看不出来什么。搜了文档和例子才算写好了。。下面是一个星状图的例子:input:0 1 1 // an edge from 0原创 2016-06-16 15:07:37 · 1660 阅读 · 0 评论