- 博客(28)
- 收藏
- 关注
原创 Perl文本替换命令
perl -pi -e 's|n_cells = (.)*|n_cells = 64 64 64|' poisson.inputs
2013-03-15 15:21:15
898
原创 OMP 编程
设置线程数:export OMP_NUM_THREADS=2头文件#include编译命令:g++ test.c -o test -fopenmp查看线程数目:omp_get_thread_num()
2013-01-05 19:34:00
729
转载 建模必备软件下载
http://www.madio.net/thread-169633-1-1.html1、必备软件1 D* g' y+ j* j$ Y* R) H* I/ S建模计算必备:) y7 P0 j E) u: n5 v( A' F9 |. _3 h+ EMatlab(用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境)http://ku
2012-12-19 11:20:27
1099
转载 gnuplot常用技巧
一、 基础篇:在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出。1、plot命令gnuplot> plotsin(x) with linelinetype 3linewidth 2 或gnuplot> plotsin(x) w llt 3 lw2 %用线画,线的类型(包括颜色与虚线的类型)是3,线的宽度是2,对函数si
2012-12-18 11:51:59
879
转载 vim中大小写转化
vim中大小写转化的命令是gu或者gU形象一点的解释就是小u意味着转为小写;大U意味着转为大写.剩下的就是对这两个命令的限定(限定操作的行,字母,单词)等等1、整篇文章大写转化为小写 打开文件后,无须进入命令行模式。键入:ggguG 解释一下:ggguG分作三段gg gu Ggg=光标到文件第一个字符gu=把选定范围全部小写G=到文件结束2、整篇文章小写转化为大写
2012-12-18 10:14:40
447
转载 ”危险“的restrict与GCC的编译优化
restrict是C99标准中新添加的关键字,对于从C89标准开始起步学习C语言的同学来说(包括我),第一次看到restrict还是相当陌生的。Wikipedia给出的解释如下:In the C programming language, as of the C99 standard, restrict is a keyword that can be used in pointer de
2012-12-09 10:15:01
756
转载 Java多线程优化之偏向锁原理分析(转载)
本文详细介绍了Java偏向锁的实现原理。偏向锁是Java 6引入的一项多线程优化。Java多线程优化的实现一般有轻量级锁和偏向锁两种方法。AD:本文来自Ken Wu's Blog,原文标题:《Java偏向锁实现原理(Biased Locking)》。51CTO编辑推荐:Java线程专题阅读本文的读者,需要对Java轻量级锁有一定的了解,知道l
2012-11-21 16:28:53
676
转载 Ubuntu添加开机自动启动程序的方法(转载)
1. 开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在/etc/rc或/etc/rc.d 或/etc/rc?.d目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本),在文件最末
2012-11-19 18:11:03
513
转载 UBUNTU12.04下安装配置体验gnome3 (转)
http://blog.sina.com.cn/s/blog_51033a8c01013lcs.html自己并不是一个思想前卫的人,穿衣审美也都是大众眼光.但是唯独喜欢在计算机方面尝试最新,心肝情愿的做小白鼠.近日,按耐不住,安装了linux中非常著名的发行版ubuntu.ubuntu12.04是一个长期支持的版本,官方宣称对该版本支持5年. ubuntu12.04默认采
2012-11-19 16:44:49
489
转载 Ubuntu12.04 更新源
1、首先备份Ubuntu 12.04源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表,有备无患嘛) 2、修改更新源 sudo gedit /etc/apt/sources.list (打开Ubuntu 12.04源列表文件) 3、将下面的代码粘贴进去(“#”开头的那一行为注释,可以直接
2012-11-19 14:48:29
463
转载 C/C++编译过程的9个阶段
标准C和C++将编译过程定义为9个阶段(Phases of Translation): 1.字符映射(Character Mapping) 文件中的物理源字符被映射到源字符集中,其中包括三字符运算符的替换、控制字符(行尾的回车换行)的替换。许多非美式键盘不支持基本源字符集中的一些字符,文件中可用三字符来代替这些基本源字符,以??为前导。但如果所用键盘是美式键盘,有些编译器可能不对
2012-11-18 16:41:48
717
转载 什么是可重入函数和不可重入函数(转)
可重入函数 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 务调用这个函数的数据,从而导致不可预料的后果。那么什么是可重入函数呢?所谓可重入是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会 出错。不可重入函数在实时系统设计中被视为不安全函数。
2012-11-18 16:35:06
413
转载 C++ swap宏
http://bbs.csdn.net/topics/330252958目前了解到的有SWAP(val1, val2)三种,各有优缺点#define SWAP(x, y) \ do \ { \ (x) = (x) ^ (y) \ (y) = (x)
2012-11-06 18:09:11
725
原创 C++ 带有默认参数的虚函数
在C++编译器中,默认参数是静态绑定的。对于函数void func(int x, int y = 2);如果在程序中出现func(1)调用。编译器会生成类似如下代码:push 2;//默认参数push 1;//x的参数值call func测试代码:#includeusing namespace std;class Base{public: virtual v
2012-11-06 17:23:15
966
原创 C++模板元编程
使用TMP在编译阶段计算阶乘:#includeusing namespace std;templatestruct Factorial { enum { value = n * Factorial::value};};template<>struct Factorial { enum { value = 1 };};int main(){ cout:
2012-11-06 17:14:34
440
原创 线段拼接问题
http://poj.org/problem?id=1089题目等价意思:给定数轴上一组线段,线段可能会相交。如果相交,则将两线段拼接起来。如[1, 3] [2 4], 则拼接之后得到的线段为[1, 4]。以升序输出经过这些拼接操作之后得到的线段。思路:先排序,然后线性扫描数组,拼接相交的线段。代码:#include#define MAX_SIZE 50000t
2012-10-16 16:50:40
1250
原创 最多不相交线段
题目描述:已知数轴上0Bi,i=1..N)定义。端点坐标在(-999,999)内,坐标为整数。有些线段可能相交。编程实现删除最少数目的线段,使得余下的任意两条线段不相交。输入:第一行为一整数N。接下来有N行,每行包含两个整数 (Ai 和 Bi), 用空格隔开。输出:整数p,即删除后余下的线段数。样例输入:36 31 32 5样例输出:2代码:#includet
2012-10-16 16:16:25
1814
原创 重复最长的两个线段
题目:分析:思路:先排序,后贪心设输入线段的数组为A[0..n-1],每条线段为(x, y)(1)首先将A排序(先按x排,如果x相等,则按y排)(2)令opt(i) 表示a[i]与a[j]相交的最大长度(其中i 令a[k]表示a[i+1], a[i+2], a[i+3], .., a[n-1]中第一条不完全被a[i]覆盖的线段 (a[k].y >
2012-10-16 16:09:02
668
原创 关于随机数生成器问题
用"int x = rand() % 100;"来生成 0 到 100 之间的随机数这种方法是不或取的, 比较好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0)) 产生一个0到n之间的随机,RAND_MAX=0x7fffffff分析:1、假如rand()返回0~150之间的数那么 rand() % 100生成0~50的概率,要大于51~99的概率这
2012-10-07 19:10:54
614
原创 概率题:10序列的期望长度(人搜)
有个随机数生成器,每次产生一个0或者1的随机数,若当前生成的数小于上一个数,则停止,否则继续生成下一个数。问生成序列的长度期望是多少。分析:令p(n)为长度为n,最后一个数字为0,后一个数字都不大于前一个数字的概率令q(n)为长度为n,最后一个数字为1,后一个数字都不大于前一个数字的概率(实际上此序列为n个1组成的序列)另k(n)为随机数生成器生成的串长度为n的概率得到递推关系
2012-10-07 17:56:36
967
原创 概率题:生成序列长度的期望(人搜)
有个随机数生成器,每次产生一个[0,1]的随机数,若当前生成的数小于上一个数,则停止,否则继续生成下一个数。问生成序列的长度期望是多少。分析:随机生成n个数:1、所有长度为n序列组成的集合为S(元素在[0,1]范围内)2、考虑特定元素{a1, a2, a3, .., an},每个元素出现且出现一次组成的序列组成的集合为T,T为S的子集,且T中序列的个数为n!个3、在T上,长度达
2012-10-07 17:46:18
1483
原创 大端小端数据布局问题(中兴)
在一个小端系统中,下面的程序输出?union{ int i; unsigned char ch[2]; }Student; int main() { Student student; student.i=0x1420; printf("%d %d",student.c
2012-10-07 17:28:20
699
原创 组合数学计数问题(谷歌)
x1+x2+x3+x4=30 其中X1>=2,X2>=0,X3>=-5,X4>=8的整数解有多少个?分析:令y1 = x1 -1 >=1y2 = x2 + 1 >= 1y3 = x3 + 6 >=1y4 = x4 - 7>=1问题转化为:y1 + y2 + y3 + y4 = 29的正整数解得个数。这问题比较熟悉:29个1,在中间插3块板。答案:C(29-1
2012-10-07 17:20:47
822
原创 十进制转成X进制
代码:void convert(int n, int x)//n x均为正数{ if(!n) return; convert(n/x, x); cout<<n%x<<" ";}
2012-10-07 17:15:27
471
原创 显式调用构造函数、析构函数
“显式调用构造函数和析构函数就像调用一般的函数一样, 并不意味着创建或销毁对象”这句话怎么理解?1、显式调用构造函数:在调用构造函数之前对象必须已经创建A a;a.A::A();2、显式调用析构函数:调用析构函数之后,对象并没有销毁;调用完之后,还会再调用一次析构函数销毁对象A a;a.A::~A();3、编译器会插入调用构造函数、析枸函数的代码,这才是真正
2012-10-07 17:12:52
738
原创 判断两个有环的链表是否相交
分析: 1、如果两个有环链表相交,那么他们一定有公共的环2、在list2的环上寻找list1的入口点,如果寻找一圈没找到,则不相交代码:t1 = find_entrance(list1);//寻找一个有环链表的入口点t2 = find_entrance(list2);p = t2;while(1){ if(p == t1) return true; p
2012-10-07 17:06:52
668
原创 根据已知随机数产生器,构造新的随机数产生器(百度)
(1) 有一个函数fun能返回0和1两个值,返回0和1的概率都是1/2,问怎么利用这个函数得到另一个函数fun2,使fun2也只能返回0和1,且返回0的概率为0.3,返回1的概率为0.7。 分析: Nathan 16:42:59随机生成长度为4的01串0000~1111每个串出现的概率都为1/16Nathan 16:44:28如果生成的串为0000 0001
2012-10-07 16:59:16
1333
原创 字符串尾序列(阿里笔试题)
题目:定义rotate(str, i)为把str[i..n-1]和str[0..i-1]拼接而成的字符串,其中n为字符串的长度, 0 =例如,对于字符串str = “abace”rotate(str, 0) = "abace";rotate(str, 1) = "bacea";rotate(str, 2) = "aceab";rotate(str, 3) = "ceaba";
2012-09-07 18:39:31
791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人