页面装载中...

Archive for the ‘程序设计’ Category

我的答案:北大ACM#1007(DNA Sorting)

好久没做 ACM 了,昨晚又跑到北大的上面做了一题(没敢去浙大的,ZOJ 的判定比北大严格得多),题目就不抄了,自己去看吧, 1007 - DNA Sorting。
下面我把自己的答案贴出来,说实话我这个代码非常烂,虽然 Accepted,但占用内存 300K,耗时 375 MS,代码长度 2261B,跟排在前面的高手的解决方法完全不能比——第 1 名:占用内存 4K,耗时 0 MS,代码长度 847B……第 20 名,占用内存 12K,耗时 0 MS,代码长度 554B——可能是我写的代码太过于 C++ 了,不仅有类,还用了模板,相当依赖 STL。如果有高手看到我这个帖子,希望能多多指教。
阅读全文 - 1521 字

免费电子书推荐:Effective STL 中文版

前段时间从亚马逊买了 Scott Meyers 的 Effective C++ 和 More Effective C++,今天又在 STL 中文站看到了电子版的 Effective STL 中文版,乐哉乐哉!想成为 C++ 高手的同学一定不要放过这几本经典书!
Effective STL 封面

免费电子书推荐:C++ 编码规范与指导

偶然间发现了白杨的网站,然后发现了这本电子书《C++ 编码规范与指导》,虽然其中一些内容可能过于绝对,但还是强烈推荐给 C++ 开发者读一下。

目录
阅读全文 - 356 字

Windows/Unix 信号量(Semaphore)示例程序

至于什么是信号量(Semaphore),网上相关资料多得很,一搜一大把,我就不做重复劳动了。只是把关于使用信号量的示例程序贴一下当作笔记,万一能对大家有点点帮助那就更好了。Windows 平台的代码来源于 MSDN,Unix 平台的代码是 Google 来的。
Part 1 - Windows 平台信号量(Semaphore)示例程序

阅读全文 - 5846 字

Effective C++ 学习笔记(一):不滥用 #define 宏

从图书馆借到 Scott Meyers 先生著、侯捷先生译的《Effective C++ 中文版(第二版)》后就爱不释手了,大有相见恨晚的感觉。——这样的好书还是应该自己买一本作为居家旅行必备,最新的是第三版,相比第二版改动较大,如果钱包允许,建议每版各买一本,我不是开玩笑滴。XD
想来 blog 长草多日也该清理清理了,顺便把自己学习的一点点体会发上来充数。高手见笑了。
------ 从这里分割 ------
阅读全文 - 1009 字

分布式系统进程的选举

进程的选举
在分布式系统中,为了协调一组进程的动作,我们常常需要一个进程扮演协调者、初始者或管理者的角色。这个进程可以是进程组的任何一个,但关键的是进程组必须选举出唯一一个而且必须达到共识。
如果所有的进程都完全一样,它们之间没有任何可区别的属性,那么也就没有办法选举出一个特别的进程。因此,我们假设进程有一个全局唯一的编号,这个编号可以是网络地址或其他方法产生的编号。不失一般性,我们可以假设选举算法总是选举编号最大的进程作为协调进程。
阅读全文 - 1780 字

VB + Windows API 获取窗体上某控件的句柄

比起上一篇《VB + Windows API 获取窗口的句柄》,可能我们遇到更多的情况是需要获取指定窗体上某个控件的句柄。我自己在这方面经验比较少,昨天查了很多资料,实际上也没有看过什么比较好的解决方法,所以只好简单地说一下自己的大致思路了。
1. 如果我们事先知道该控件的类名或是标题,那么似乎可以使用 API 函数 FindWindow 来得到该控件的句柄。FindWindow 的声明如下(使用 VS 自带的工具 API Viewer可以查到声明代码):

阅读全文 - 1104 字

VB + Windows API 获取窗口句柄

由于一个特殊问题和一个特殊目的,我打算写一个比较“evil”的程序(不许联想 -__-),虽然以前并没有搞过类似的东东,但凭直觉判断(可能相当不准)使用 VB 和 Windows API 搞起来会比较容易。
这个东东的第一步需要获取某个窗口的句柄,在网上找了相关资料,先照家猫画华南虎写了个可以获取鼠标所指的窗口句柄的小程序,现将代码分享如下,这么短注释我就不写了,相信都能看得懂:

阅读全文 - 917 字