算法
[原创]字符替换工具
八 3rd
虽然我取名叫字符替换专家,但目前还不是。
支持ANSI、UNICODE、HEX的搜索。采用内存映射文件以及一个高速搜索算法,查询速度非常快。
我搜索文件2008 – 悬崖上的金鱼公主.mkv(文件大小1,652,915,574 字节, 1.53 GB)的最后4个字节,耗时不到30秒。
已知问题:不能处理超过4G的文件,因为我用的long数据类型,而且大于4G实在是用不到这个功能,就不改了。
高速字符串匹配 zzl算法
十一 29th
这个大概我这段时间稍微有点成就感的东西了。
学了数据结构,但是编写代码的时候还是照着书抄,没有一点意思……
字符串匹配在补丁的时候是非常有用的。
之前我用的普通方法查找,就是一个一个的往前。搜索一个300kb的文件大概需要4秒时间。
看了ZZL算法原理以后,自己就编写了出来。查找这个相同的文件,需时约0.4秒。
大家能够感觉到差距吧?整整10倍啊!
算法思想大意是每次能够尽量多的移动匹配位置,因此建立一个开始匹配的索引。
更多 >
H3C 802.1X 客户端 密码算法
十一 11th
记得上次我同学把学校的密码给忘记了……汗一个
然后我就是通过的h3c的密码给他找回来的,不过那次用的是星号密码查看器。
这次可以不那样了,正宗的读取密码哦,算法来自我们学校的plainray,他还有感谢renewjoy,感谢zhzhxtrrk。
密码还有账号都存放在”UserCfg.dat”中。
具体算法如下:
(我从那个linux GUI-H3C-Client里面提取出来的……)
更多 >
ACM不是我混的地方
八 30th
今天闲着没事做,就把珍藏N年的杭电ACM习题拿出来看看。(N<1)
其中发现一个比较有趣的题目。(我以为适合我,不算太难)
呃……变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.
速算24 C++
八 30th
几十年前全世界就流行一种数字游戏,至今仍有人乐此不疲。在中国我们把这种游戏称为“算24点”。你作为游戏者将得到4个1-9之间的自然数作为操作数,而你的任务是对这4个操作数进行适当的算术运算,要求运算结果等于24。
你可以使用的运算只有:+,-,*,/,你还可以使用()来改变运算顺序。
这个是一个标准的ACM题目,我不明白的是,为什么出题者在后面又加了一句:
注意:所有的中间结果必须是整数,所以一些除法运算是不允许的(例如(2*2)/4是合法的,2*(2/4)是不合法的。下面我们给出一个游戏的具体例子:
若给出的4个操作数是:1、2、3、7,则一种可能的解答是1+2+3*7=24。
难道是不相信ACMer的实力吗?这里给出一个C++写的解法,声明不是我写的。不过我还能看懂就是了,呵呵。
更多 >
C语言 – JAVA程序演示
八 28th
老师叫我们做了一个JAVA程序演示这一学期的JAVA程序。
说实话,非要硬要用JAVA来演示,效果实在是不好,我搞到凌晨一点过,终于把JNI调用学会了,才学会一个简简单单的清屏,如果是用C语言来写,那该多方便呀,所以呢,我自己又用C写了一个JAVA程序演示。
主要运用的就是读取文件下下的所有.java文件啦。有点相当于DIR的功能了,呵呵……
好了,不说废话了,上代码。
更多 >
凯撒密码破解器
八 28th
自己写的一个破解凯撒密码的工具,主要原理呢就是把所有可能结果列出来,然后与关键词相对比,最后快速找出可能的答案。
加上人工判断,基本上就没问题了。
另外本工具还会把结果输出到txt文件中,并自动用记事本打开。方便复制。
直接编译就可以运行了,我就不提供exe执行文件咯。
感谢你的使用,(*^__^*)…嘻嘻。
