摘要: 在日常的代码开发中。习惯于在自己的代码编辑器里设置自己喜欢的代码字体及颜色。在写博客的过程中,有不可避免的要粘贴一些自己写的代码。问题就来了,往往在博客中提供的代码显示工具显示的代码格式和之前在代码编辑器里就发生了变化。虽不是什么大问题,但总是觉得有点不舒服。 本人用的编辑器是VS系列。一次在无意中将代码复制后,贴到写字板中,发现格式没有发生变化,将文件保存后,用记事本打开,发现是保存为Rtf格式。也就是说,在VS中复制代码,实际内存中保存着该代码的Rtf格式,这样也就是保留了该代码的格式。那么接下来要做的事情就是写一段代码,将该Rtf格式的代码改写成Html格式的代码。由于两种格式之间...阅读全文
posted @ 2012-01-10 12:20 万仓一黍 阅读(1785) 评论(1) 编辑
摘要: 在VS编程中,一般遇到比较耗时的操作的时候(例如:从网络上下载文档,文件的IO操作等),如果采用一般的做法,主线程会一直等待操作完成,会遇到界面假死的问题。故在此情况下,合理的做法是采用异步操作和多线程操作。异步操作可以在另开一个线程执行耗时的操作,在主线程上是不等返回,直接操作下一步,从而解决了界面假死的情况。不过,由于异步操作是新开了一个线程,在新开的线程里操作界面元素的时候(例如:在下载文档时显示进度,修改界面上的进度条的数值),会抛出一个线程安全的异常。为了解决这个问题,VS提供了BackgroundWorker类,通过内部封装,提供了一个异步操作,同时又能解决线程安全的问题。Back阅读全文
posted @ 2011-12-21 15:51 万仓一黍 阅读(912) 评论(2) 编辑
摘要: 原题:一个正整数,转成二进制后,这个二进制数包含多少个1? 这个问题在网上看过多次,几番思考,也没有什么好的办法。采用最基本的办法,逐位判断,是1的统计加1,最后将统计数返回。 以下是这个思路的VB2008代码,不失一般性,将正整数的范围控制在(1~231-1) Private Function GetCount1OfValue(ByVal Value As Integer) As Integer Dim i As Integer, Count As Integer = 0 For i = 0 To 30 If (Value And 2 ^ i) = 2 ^ i Then Count += .阅读全文
posted @ 2011-06-10 09:07 万仓一黍 阅读(2658) 评论(36) 编辑
摘要: 时至今日,一个小型的局域网中的操作系统,Win7和WinXP共存的现象已经是很普遍的了(就像当时WinXP和Win98曾经共存了一段时间一样)。那么在Win7和WinXP之间的设置资源共享就得费一番周折了。本人今日碰到二则事例,在网上查了很多资料后,很多都是言语寥寥,不能解决实际问题。在仔细的搜索一番后,找到两个帖子,都顺利的解决了我的问题。在这儿,着文以记之。也是给更多的人一个参考。 一、Win7访问WinXP的共享打印机 在许多的网上的帖子上说,一个是开放GUEST帐号,一个是通过添加网络端口的打印机。这两个,我都试过,前一个,丝毫不起作用,Win7能看到WinXP的机器,但看不到其共享.阅读全文
posted @ 2011-06-09 12:57 万仓一黍 阅读(1344) 评论(3) 编辑
摘要: 看了“白话算法(7) 生成全排列的几种思路(一)”和“白话算法(7) 生成全排列的几种思路(二) 康托展开”。在此,将以前本人推导的全排列算法介绍一下,和广大的网友交流一下。 以例子说明,用0、1、2、3,四个数组成全排列。 首先可以知道,这四个数组成的全排列一共有4!=24个。那么给这24个全排列编号,分别为0、1、2……23。再给定一个算法,通过编号计算出一个全排列。本文的目的就是找到这样的算法。 把所有的全排列列举出来可以发现,0在末位的有6个,1在末位的有6个,等等。 观察0在末位的六个,分别是 1、2、3、0 1、3、2、0 2、1、3、0 2、3、1、0 3、1、2、0 3、2、.阅读全文
posted @ 2011-04-29 15:39 万仓一黍 阅读(1409) 评论(5) 编辑
摘要: 在“新版微软一站式示例代码库发布 - 绑定第三版示例代码浏览器”中,有若干最新的asp.net的示例。 对其中的一个示例的源代码研究了一番。觉得有问题,故在此阐述本人的疑问,望广大网友赐教。 先把这个示例的说明贴在下方。 CSASPNETReverseAJAX, VBASPNETReverseAJAX Downloads CSASPNETReverseAJAX: http://code.msdn.microsoft.com/CSASPNETReverseAJAX-7a1f0c2b VBASPNETReverseAJAX: http://code.msdn.microsoft.com/VBAS.阅读全文
posted @ 2011-04-21 11:21 万仓一黍 阅读(2030) 评论(27) 编辑
摘要: 原题在“两道TB面试题”文章中。今日在本文中,就个人的理解再阐述一遍。 题目1:有一个数列,它由3个数列复合而成,并升序排列。三个数列分别是2的n次,3的n次,5的n次,0≤n<∞。给出前几项:1,2,3,4,5,8,9,16,25,27………………即20(30, 50) , 21, 31, 22, 51, 23, 32, 42, 52, 33。问你如何快速得到第1000000个数的值。 问题2:有一个数列,它由3个数列复合而成,并升序排列。三个数列分别是2的n次,3的n次,5的n次,1≤n<∞。给出前几项:2,3,4,5,8,9,16,25,27………………即21, 31, 22阅读全文
posted @ 2011-04-20 08:56 万仓一黍 阅读(2176) 评论(9) 编辑
摘要: 题目:给定一个数字,和一个范围,产生所有在范围内的不重复的数字之和,和等于给定的数字。 举例:给数字12,范围3-6。可以产生以下5个组合: 1、3+3+3+3 2、3+3+6 3、3+4+5 4、4+4+4 5、6+6 要求给出最快实现,并且是非递归。 这是某人给我出的一道算法题。经过考虑,给出了解法。最快的谈不上(算法无止境、人外有人),没有用递归。 还是以题目的例子说明,数字12,范围3-6。给出了5种组合。将这5种组合改写一下 3+3+3+3=3*4+4*0+5*0+6*0 记作:(4,0,0,0) 3+3+6=3*2+4*0+5*0+6*1 记作:(2,0,0,1) 3+4+5=3.阅读全文
posted @ 2011-03-31 09:01 万仓一黍 阅读(1567) 评论(5) 编辑
摘要: 近日,在和他人闲暇无事的时候,进行篮球投篮比赛。由于本人的投篮命中率比较低,而他的投篮命中率比较高。因此,定了一个规则。采用积分制,初始积分为1分。他投篮,每投中一个球,积分加1分,继续投篮;投不中,换我投篮。我投篮,每投中一个球,积分减1分,继续投篮;投不中,换他投篮。若积分到11分,他获胜;若积分减到0分,我获胜。每局由他先投篮。 在进行若干局的比赛后,各有胜负。提出了一个问题:他获胜的概率是多少? 把问题数字化 A和B两人进行投篮,A的命中率为70%,B的命中率为30%。初始积分为1分,每人投中继续投,投不中换人投。A投中积分加1分,B投中积分减1分。积分为11分时,A获胜;积分为0分.阅读全文
posted @ 2011-03-22 13:20 万仓一黍 阅读(1855) 评论(5) 编辑
摘要: 研究文本比较算法有一段时间。看到Primal-Dual算法,作为不同的求LCS算法,介绍如下。 原文在《An almost-linear time and linear space algorithm for the longest common subsequence problem》 比较文本: A=a1a2a3……am B=b1b2b3……bn 定义集合P={(i,j)|ai=bj} 则P={p1,p2,……,pl} pk表示(ik,jk),1≤k≤l 定义三个比较运算符 ①“∠” px∠py 当且仅当 ix<iy,jx<jy ②“⊿” px⊿py 当且仅当 ix≤iy,jx阅读全文
posted @ 2011-03-17 16:37 万仓一黍 阅读(1725) 评论(6) 编辑