2010年2月1日

高质量C++/C编程指南 之 命名的规则

摘要: “匈牙利”命名规则:“在变量和函数名中加入前缀以增进人们对程序的了解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。共性规则【规则 3-1-1】 标识符应当直观且可以拼读,可望文知意, 不必进行“解码”。 英文单词或其组合,程序中的英文单词一般不会太复杂,用词应当准确;【规则 3-1-2】 标识符的长度应当符合... 阅读全文

posted @ 2010-02-01 16:39 Lowtec 阅读(264) 评论(0) 推荐(1) 编辑

2010年1月31日

高质量C++/C编程指南 之 程序的版式

摘要: 空行:分隔程序段落【规则 2-1-1】在每个类声明之后和每个函数定义结束之后都要加空行;【规则 2-1-2】在一个函数体内,逻辑上密切的语句之间不加空行,其他地方应加空行分隔。如:代码行【规则 2-2-1】一行代码只做一件事情(容易阅读和写注释);【规则 2-2-2】if、for 、while、do等语句各占一行,执行语句不能紧跟其后,不论执行语句多少都要加{}。【建议 2-2-1】尽可能在定义变... 阅读全文

posted @ 2010-01-31 14:04 Lowtec 阅读(260) 评论(0) 推荐(0) 编辑

2010年1月30日

高质量C/C++编程指南 之 文件结构

摘要: 文件结构保存程序的声明(declaration)——头文件保存程序的实现(implementation)——定义(definition)文件1.1 版本和版本的声明:位于头文件和定义文件的开头1)版权信息。主要内容 2)文件名称、标识符、摘要。3)当前版本号、作者/修改者,完成日期。4)版本历史信息。如:/* * Copyright (c) 2001... 阅读全文

posted @ 2010-01-30 17:55 Lowtec 阅读(298) 评论(0) 推荐(1) 编辑

2009年4月19日

hoj1090 The Staircases

摘要: One curious child has a set of N little bricks. From these bricks he builds different staircases. Staircase consists of steps of different sizes in a strictly descending order. It is not allowed for s... 阅读全文

posted @ 2009-04-19 10:38 Lowtec 阅读(1230) 评论(0) 推荐(0) 编辑

2008年12月1日

登山机器人问题

摘要: 描述: 登山机器人是一个及富挑战性的高技术密集型科学研究项目,它为研究发展多智能体系统和多机器人之间的合作与对抗提供了生动的研究模型。 登山机器人可以携带有限的能量。在登山过程中,登山机器人需要消耗一定能量,连续攀登的路程越长,其攀登的速度就越慢。在对m种不同类型的机器人进行性能测试时,测定出每个机器人连续攀登1,2,…,n米所用的时间。现在要对这m个机器人进行综合性能测试,举行机器人接力连续攀登... 阅读全文

posted @ 2008-12-01 23:04 Lowtec 阅读(3361) 评论(2) 推荐(0) 编辑

多元Huffman编码问题

摘要: 描述:在一个圆形操场的四周摆放着n堆石子。现要将石子有次序的合并成一堆。规定每次至少选2堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大费用和最小费用。 Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighli... 阅读全文

posted @ 2008-12-01 10:54 Lowtec 阅读(1879) 评论(0) 推荐(1) 编辑

2008年11月30日

数列极差问题

摘要: 在黑板上写了N个正整数组成的一个数列,进行如下操作: 每次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上 剩下一个数,在所有按这种操作方式最后得到的数中,最大的为max,最小的为min, 则该数列的极差定义为M=max-min。 贪心算法:每次擦出数列中的两个最小数,产生最大值max; 每次擦出数列中的两个最大数,产生最小值min; ... 阅读全文

posted @ 2008-11-30 23:27 Lowtec 阅读(1784) 评论(3) 推荐(0) 编辑

石子合并问题

摘要: 动态规划思路: 阶段i:石子的每一次合并过程,先两两合并,再三三合并,...最后N堆合并 状态s:每一阶段中各个不同合并方法的石子合并总得分。 决策:把当前阶段的合并方法细分成前一阶段已计算出的方法,选择其中的最优方案 具体来说我们应该定义一个数组s[i,j]用来表示合并方法,i表示从编号为i的石头开始合并,j表示从i开始数j堆进行合并,s[i,j]为合并的最优得分... 阅读全文

posted @ 2008-11-30 11:59 Lowtec 阅读(995) 评论(0) 推荐(1) 编辑

导航