自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序谓词小测试

 #include #include #include using namespace std;struct cmp{ int (*fun)(int x); cmp(int (*fun)(int x)): fun(fun) {} bool operator ()(int u, int v) { return fun(u) < fun(v); }

2009-10-09 12:59:00 430

原创 Windows下内存映射

我想用内存映射和直接读取文件分别实现MD5算法。众所周知,该算法是线性复杂度,文件的读取可能成为效率的瓶颈。以前曾写过CRT版本的,效率比我在windows下使用的WinMD5略低。 内存映射读取MapViewOfFile第一步先打开文件,推荐使用CreateFile而不是OpenFile。msdn上OpenFile可以查到:Note  Only use this func

2009-07-04 15:05:00 1222

原创 Aho-Corasick automation

多串匹配,类似于KMP,可以看成是KMP的推广。首先建立所有匹配串的trie,然后对该trie建立fail指针。匹配文本时,只要让文本在改自动机上跑一遍就可以得到所有匹配成功的位置。具体实现可以用指针,也可以用数组,但是数组要求的空间很大。#include #include #include #include using namespace std;cons

2009-06-30 17:29:00 1420

原创 C语言递归访问文件

我需要生产一个文件夹下所有文件的index。所以网上查了相关代码,自己修改了一下#include #include using namespace std;const size_t PATH = 1024;void visit(LPCTSTR lpszPath, size_t dep){ TCHAR szFind[PATH]; lstrcpy(szFind,

2009-06-23 20:45:00 470

原创 任意阶幻方的构造

#include using namespace std;const int N = 1000;int a[N][N];void build(int a[N][N], int n) // No solution when n = 2{ int i, j, k, nn = n * n, m = n / 2, mm = m * m; for (i = 0; i <

2009-06-20 22:45:00 627

原创 位运算总结

1. 加1从最低位开始置0,直到碰到第一个0,置1 2. 减1从最低位开始置1,直到碰到第一个1,置0 3. 求负注意unsigned int之间运算的结果仍然是unsigned,如果结果溢出,将会加上或者减去MAX + 1多次来回到这个范围,MAX是最大的无符号整数-x 等价于 (~x) + 1 4. 常用的一些(1) x中含1的最低位清0x &

2009-06-19 09:38:00 617

原创 Cayley-Menger行列式(Heron公式的推广)

我们初中学过 Heron 公式: /Delta^2=s(s-a)(s-b)(s-c).其中 s=(a+b+c)/2.告诉你一个n-simplex的顶点坐标,计算n维体积是简单的,直接用行列式就可以了。有时候只知道这个simplex的各个边长,我们有 Cayley-Menger 行列式: V^2 = (-1)^(n+1)/2^n/(n!)^2 det(B).其中B_ij =

2009-06-18 09:03:00 2510

原创 N 皇后问题

求N皇后有多少种摆放方案,记录列和2条对角线的forbidden的信息。对于N比较小的时候可以利用位运算加速。只要找一组解的话,有直接构造方法。#include using namespace std;int all, ans;void run(int row, int ld, int rd){ if (row == all) { ans++; re

2009-06-17 23:06:00 582

原创 大整数FFT乘法

#include #include #include #include using namespace std;const double PI = acos(-1.0);typedef complex cp;typedef long long int64;const int N = 1 << 16;int64 a[N], b[N], c[N << 1];

2009-06-08 11:42:00 2562

空空如也

空空如也

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

TA关注的人

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