2012年4月17日

C#识别验证码

摘要: 以前看过一篇关于验证码识别功能的代码,于是整理了一下。主要原理就是识别图片的颜色不同从而转换为文字。不过对于不规则的验证码就不太行了。主要代码如下: recordString = string.Empty; IHTMLControlRange imgRange; IHTMLDocument2 document = new HTMLDocumentClass(); document = (IHTMLDocument2)this.axWebBrowser.Document; HTMLBody... 阅读全文

posted @ 2012-04-17 19:30 c语言源码 阅读(6001) 评论(0) 推荐(0) 编辑

Catalan数

摘要: Catalan(n)=c(2*n,n)/(n+1) (n=0,1,2,3....)常见处理的问题:1.括号化问题。 矩阵链乘: P=a0×a1×a2×a3×……×an,共有(n+1)项,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(Catalan(n)种)二叉树个数:有N个节点的二叉树共有多少种情形?(Catalan(n)种)多边形三角剖分:2.出栈次序问题。 阅读全文

posted @ 2012-04-17 12:07 c语言源码 阅读(482) 评论(0) 推荐(0) 编辑

第二类斯特林数

摘要: s(m,n)表示把m个有区别的球放到n个相同的盒子中,且无一空盒,其不同的方案数。s(m,n)=ns(m-1,n)+s(m-1,n-1) (m>=n)s(m,n)=0 (m<n)s(0,0)=1;long long data[N][N]; void stirling(int m, int n) { int min, i, j; memset(data,0,sizeof(data)); data[0][0] = 1; for( i = 1; i <= m; ++i ){ if( i < n ) min = i; ... 阅读全文

posted @ 2012-04-17 11:23 c语言源码 阅读(438) 评论(0) 推荐(0) 编辑

生成函数/拆分数计算

摘要: 计算整数n的拆分数用的是生成函数的方法。首先来看一下生成函数所解决的问题(1+x+...+x^n+...)(1+x+...+x^n+...)...(1+x+..+x^n+...) 这个母函数可以这样理解(转化为经典的 不可区分球 放 可区分盒 中的问题):每一个括号表示一个盒内放的球的情况在计算拆分数时需要用一个ferrers图像性质:n拆分成m个数的和的拆分数等于将n拆分成最大数不超过m的拆分数。(这里n,m的大小无关系)既然最大数不超过m,那么问题便转化为,有几个1,2...n.写成生成函数即为 (1+x+...+x^n+...)(1+x^2+x^4+x^8+...)...(1+x^n+x 阅读全文

posted @ 2012-04-17 10:58 c语言源码 阅读(243) 评论(0) 推荐(0) 编辑

组合数

摘要: n个球m个盒子是否空盒方案数无区别有区别无C(n-1,m-1)(隔板法)无区别有区别有C(n+m-1,n)(m-1个隔板,n个球共n+m+1个位置选n个位置)有区别无区别无S(n,m)有区别无区别有S(n,1)+S(n,2)+...+S(n,m) (n>m)S(n,1)+S(n,2)+...+S(n,n) (n<m)无区别无区别有将n拆分成最多m个数的和等于将n拆分成最大数不超过m的和(用生成函数做)无区别无区别无先每个盒子各放一个球,将n-m拆分成最多m个数的和等于将n拆分成最大数不超过m的和(用生成函数做)有区别有区别无m!*S(n,m)从{1,2,3....,n}中选r个两两 阅读全文

posted @ 2012-04-17 00:09 c语言源码 阅读(597) 评论(0) 推荐(0) 编辑

导航