bcpl

dive into .net胜在这坚实的一小步
 
 
昵称:bcpl
园龄:6年11个月
粉丝:1
关注:0

搜索

 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论
  • 我的标签

随笔分类(30)

  • COM(1) (rss)
  • Database(3) (rss)
  • Python(2) (rss)
  • Win32(6) (rss)
  • 编程语言(3) (rss)
  • 个人习作(1) (rss)
  • 生活(2) (rss)
  • 自言自语(12) (rss)

随笔档案(53)

  • 2006年5月 (1)
  • 2005年8月 (2)
  • 2005年7月 (13)
  • 2005年5月 (10)
  • 2005年4月 (9)
  • 2005年3月 (18)

文章分类

  • 转贴 (rss)

积分与排名

  • 积分 - 36412
  • 排名 - 2939

最新评论

阅读排行榜

评论排行榜

推荐排行榜


Powered by: 博客园
模板提供:沪江博客
博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅订阅 | 管理

2006年5月10日

今年在好几种开发语言中转来转去,现在轮到CS了。
...
posted @ 2006-05-10 14:09 bcpl 阅读(114) 评论(0) 编辑
 

2005年5月23日

…
原来有这个字符,做打开对话框的button时经常要用D
posted @ 2005-05-23 09:53 bcpl 阅读(299) 评论(0) 编辑
 

2005年5月19日

[zz] 海盗的难题
 数学的逻辑有时会导致看来十分怪异的结论。

  10名海盗抢得了窖藏的100块金子,并打算瓜分这些战利品。这是一些讲民主的海盗(当然是他们自己特有的民主),他们的习惯是按下面的方式进行分配:最厉害的一名海盗提出分配方案,然后所有的海盗(包括提出方案者本人)就此方案进行表决。如果50%或更多的海盗赞同此方案,此方案就获得通过并据此分配战利品。否则提出方案的海盗将被扔到海里,然后下提名最厉害的海盗又重复上述过程。

  所有的海盗都乐于看到他们的一位同伙被扔进海里,不过,如果让他们选择的话,他们还是宁可得一笔现金。他们当然也不愿意自己被扔到海里。所有的海盗都是有理性的,而且知道其他的海盗也是有理性的。此外,没有两名海盗是同等厉害的——这些海盗按照完全由上到下的等级排好了座次,并且每个人都清楚自己和其他所有人的等级。这些金块不能再分,也不允许几名海盗共有金块,因为任何海盗都不相信他的同伙会遵守关于共享金块的安排。这是一伙每人都只为自己打算的海盗。

  最凶的一名海盗应当提出什么样的分配方案才能使他获得最多的金子呢?

  为方便起见,我们按照这些海盗的怯懦程度来给他们编号。最怯懦的海盗为1号海盗,次怯懦的海盗为2号海盗,如此类推。这样最厉害的海盗就应当得到最大的编号,而方案的提出就将倒过来从上至下地进行。

  分析所有这类策略游戏的奥妙就在于应当从结尾出发倒推回去。游戏结束时,你容易知道何种决策有利而何种决策不利。确定了这一点后,你就可以把它用到倒数第2次决策上,如此类推。如果从游戏的开头出发进行分析,那是走不了多远的。其原因在于,所有的战略决策都是要确定:“如果我这样做,那么下一个人会怎样做?”因此在你以下海盗所做的决定对你来说是重要的,而在你之前的海盗所做的决定并不重要,因为你反正对这些决定也无能为力了。

  记住了这一点,就可以知道我们的出发点应当是游戏进行到只剩两名海盗——即1号和2号——的时候。这时最厉害的海盗是2号,而他的最佳分配方案是一目了然的:100块金子全归他一人所有,1号海盗什么也得不到。由于他自己肯定为这个方案投赞成票,这样就占了总数的50%,因此方案获得通过。

  现在加上3号海盗。1号海盗知道,如果3号的方案被否决,那么最后将只剩2个海盗,而1号将肯定一无所获——此外,3号也明白1号了解这一形势。因此,只要3号的分配方案给1号一点甜头使他不至于空手而归,那么不论3号提出什么样的分配方案,1号都将投赞成票。因此3号需要分出尽可能少的一点金子来贿赂1号海盗,这样就有了下面的分配方案:3号海盗分得99块金子,2号海盗一无所获,1号海盗得1块金子。

  4号海盗的策略也差不多。他需要有50%的支持票,因此同3号一样也需再找一人做同党。他可以给同党的最低贿赂是1块金子,而他可以用这块金子来收买2号海盗。因为如果4号被否决而3号得以通过,则2号将一文不名。因此,4号的分配方案应是:99块金子归自己,3号一块也得不到,2号得1块金子,1号也是一块也得不到。

  5号海盗的策略稍有不同。他需要收买另两名海盗,因此至少得用2块金子来贿赂,才能使自己的方案得到采纳。他的分配方案应该是:98块金子归自己,1块金子给3号,1块金子给1号。

  这一分析过程可以照着上述思路继续进行下去。每个分配方案都是唯一确定的,它可以使提出该方案的海盗获得尽可能多的金子,同时又保证该方案肯定能通过。照这一模式进行下去,10号海盗提出的方案将是96块金子归他所有,其他编号为偶数的海盗各得1块金子,而编号为奇数的海盗则什么也得不到。这就解决了10名海盗的分配难题。

posted @ 2005-05-19 20:31 bcpl 阅读(230) 评论(0) 编辑
 

2005年5月18日

Digest
一场倾盆大雨。站立着面对这场大雨吧!让它的钢铁般的光芒刺穿你。你在那想把你冲走的雨水中飘浮,但你还是要坚持,昂首屹立,等待那即将来临的无穷无尽的阳光的照耀。
posted @ 2005-05-18 08:52 bcpl 阅读(190) 评论(0) 编辑
 

2005年5月16日

发现VS2005 b2有支持C++代码重构的功能
在class diagram里可以直接改类名函数名基类等等东西,也能正确的反映到被使用的地方,相当不错
不过修改后class view并不能同步,希望ms加油把它做好
posted @ 2005-05-16 11:55 bcpl 阅读(580) 评论(0) 编辑
 
程序设计的警句
糟糕的设计不如没有设计
糟糕的注释不如没有注释
糟糕的代码不如没有代码
posted @ 2005-05-16 03:04 bcpl 阅读(336) 评论(1) 编辑
 

2005年5月4日

发现WH_CBT的HCBT_ACTIVATE事件不够好用
摘要: 对命令行窗口是不行的,对某些全屏的游戏窗口似乎并不总是激发,后换用WH_SHELL的HSHELL_WINDOWACTIVATED事件,都行了,而且对于仅仅需要检测程序切换的功能来说,也节省了资源阅读全文
posted @ 2005-05-04 23:15 bcpl 阅读(1554) 评论(1) 编辑
 

2005年5月2日

发现MSDN上真是有好多好东东
摘要: 象这篇文章:Form Validation with Regular Expressions in MFChttp://msdn.microsoft.com/msdnmag/issues/05/04/CATWork/default.aspxcool! vckbase也有对应的一篇翻译:在MFC中用正则表达式对窗体进行有效性验证 http://www.vckbase.com/document/vie...阅读全文
posted @ 2005-05-02 23:43 bcpl 阅读(248) 评论(0) 编辑
 
乘着放假这两天做了一个键盘映射工具
摘要: 由于象Delphi7、VB6这些IDE不支持自定义快捷键,但又时不时要用一用,当从MSDEV切换过去时,不同的键盘布局带来的混乱足以让人抓狂。为了解决这个问题,决定做个通用的工具来映射快捷键。 底层的技术思想很简单,即通过全局键盘勾子,当发现按下定义的快捷键时,即回放其映射的快捷键序列。不过为了达至通用,许多细节必须考虑;另外由于这是第一次使用勾子,经验不足,开始时被多进程调试搞晕了,因为TRAC...阅读全文
posted @ 2005-05-02 17:47 bcpl 阅读(2798) 评论(15) 编辑
 

2005年4月28日

vs2005好象比2003是快了些
摘要: 至少从C#应用程序的调试状态退出时2005的响应时间快了许多,原来2003总有种粘滞感,UI慢呑呑才喘过气来,希望2005彻底改掉这个毛病阅读全文
posted @ 2005-04-28 11:33 bcpl 阅读(259) 评论(0) 编辑
 
仅列出标题  下一页