一个好的取胜之道是制定在竞赛中指导你行动的策略。无论是在好的情况下还是在坏的情况下,它将帮助你决定你的行动。用这种方法你可以在竞赛中将时间花费在解决编程问题上而不是试图决定下一步该干什么…这有点像预先计算好你面对各种情况的反应。
心理上的准备也很重要。
竞赛中的策略
首先通读所有的题目;草拟出算法,复杂度,数量,数据结构,微妙的细节,…
- 集体讨论所有可能的算法 —— 然后选择最“笨”但却可行的算法。(注:请注意这一点,对参赛选手来说获奖就是唯一目的)
- 进行计算!(空间和时间复杂度,并且加上实际期望和最坏情况下的数量)
- 试图证明该算法错误——使用特殊的(退化的)测试数据。
- 将问题排序:根据你所需付出的努力,将能够最快解决的问题排在前面。(答题的次序为:以前做过的,容易的,不熟悉的,难的)
编写程序解决一个问题 —— 对每一道题而言,一次一道题
- 确定算法
- 构造特殊情况的测试数据
- 写出数据结构
- 编写并测试输入子程序(编写额外的子程序来显示数据输入的正确性)
- 编写并测试输出子程序
- 逐步细化:通过写注释来刻划程序的逻辑轮廓
- 一个部分一个部分地填充并调试代码
- 完成代码使其正常运转,并验证代码的正确性(使用一般情况的测试数据)
- 试图证明代码错误——使用特殊情况的测试数据来验证代码正确性
- 逐渐优化——但足够了即可,并且保存所有的版本(使用最坏情况的(即运行时间长的)测试数据来计算出实际运行时间)
时间安排策略和“故障控制”方案
制定一个计划决定在各种(可预测的)故障发生时的行动;想象你可能遇到的问题并计算出你所希望做出的反应。核心问题是:“你何时花费更多的时间在调试程序上,你何时放弃并继续做下一题?”。考虑以下问题:
- 你已经花费了多长时间来调试它?
- 你可能有什么样的BUG?
- 你的算法有错吗?
- 你的数据结构需要改变吗?
- 你是否对什么地方可能会出错有一些头绪?
- 花费较短的时间(20分钟)在调试上比切换去做其他别的事要好;但是你或许能够在45分钟内解决另一个问题(A short amount (20 mins) of debugging is better than switching to anything else; but you might be able to solve another from scratch in 45 mins.)
- 你何时返回到一个你先前放弃的问题?
- 你何时花费较多的时间优化一个程序,你何时放弃当前优化工作而切换去作其他事?
- 从这点考虑出去(Consider from here out)——忘记先前的努力,着眼于将来:你如何才能就你目前所有的抓住下一个小时。
在你上交你的答案之前列出一个校验表:
- 在竞赛结束前五分钟结束编写代码(Code freeze five minutes before end of contest)。
- 将所有的声明关闭。
- 将调试输出关闭。
- 确认输入输出文件名正确。
- 确认输入输出格式正确。
- 重新编译并再测试一次。
- 将文件以正确的文件名复制到正确的位置(软盘)。
提示和技巧
- 如果可以就用暴力法(即穷举法)解决 (注:居然将这条作为技巧,可见竞赛的目的就是获奖,为此要“不择手段”。)
- KISS(=Keep
软件版本号说明
软件版本号说明
alphal 内部测试版
beta 外部测试版
demo 演示版
Enhance 增强版或者加强版 属于正式版
Free 自由版
Full version 完全版 属于正式版
shareware 共享版
Release 发行版 有时间限制
Upgrade 升级版
Retail 零售版
Cardware 属共享软件的一种,只要给作者回复一封电邮或明信片即可。
(有的作者并由此提供注册码 等),目前这种形式已不多见。
Plus 属增强版,不过这种大部分是在程序界面及多媒体功能上增强。
Preview 预览版
Corporation & Enterprise 企业版
Standard 标准版
Mini 迷你版也叫精简版只有最基本的功能
Premium — 贵价版
Professional — 专业版
Express — 特别版
Deluxe — 豪华版
Regged — 已注册版
CN — 简体中文版
CHT — 繁体中文版
EN — 英文版
Multilanguage — 多语言版
Rip 是指从原版文件(一般是指光盘或光盘镜像文件)直接将有用的内容(核心内容)分离出来,剔除无用的文档,例如PDF说明文件啊,视频演示啊之类的东西,也 可以算做是精简版吧…但主要内容功能是一点也不能缺少的!另:DVDrip是指将视频和音频直接从DVD光盘里以文件方式分离出来。
trail 试用版(含有某些限制,如时间、功能,注册后也有可能变为正式版)
RC 版。是 Release Candidate 的缩写,意思是发布倒计时,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会除BUG,不会对软件做任何大的更改。
RTM 版。这基本就是最终的版本,英文是 Release To Manufactur,意思是发布到生产商。
Original Equipment Manufacturer (OEM)
You may license products through an Original Equipment Manufacturer (OEM).
These products, such as Windows operating systems, come installed when you purchase a new computer.
OEM软件是给电脑生产厂的版本,无需多说。
Full Packaged Product (FPP)–Retail
Physical, shrink-wrapped boxes of licensed product that can be purchased in a local retail store or any local software retailer.
FPP就是零售版(盒装软件),这种产品的光盘的卷标都带有”FPP”字样,比如英文WXP Pro的FPP版本的光盘卷标就是WXPFPP_EN,其中WX表示是Windows XP,P是Professional(H是Home),FPP表明是零售版本,EN是表明是英语。获得途径除了在商店购买之外,某些MSDN用户也可以得 到。
Volume Licensing for Organizations (VLO)
You may enjoy potentially significant savings by acquiring multiple product licenses. Depending on the size and type of your organization.
团体批量许可证(大量采购授权合约),这是为团体购买而制定的一种优惠方式。这种产品的光盘的卷标都带有”VOL”字样,取”Volume”前 3个字母,以表明是批量,比如英文WXP Pro的VOL版本的光盘卷标就是WXPVOL_EN,其中WX表示是Windows XP,P是Professional(VOL没有Home版本),VOL表明是团体批量许可证版本,EN是表明是英语。获得途径主要是集团购买,某些 MSDN用户也可以得到。
这种版本根据购买数量等又细分为“开放式许可证”、“选择式许可证”、“企业协议”、“学术教育许可证”等以下5种版本
Open License
Select License
Enterprise Agreement
Enterprise Subscription Agreement
Academic Volume Licensing
由此可见,平时说的什么select/corp是许可证授权方式,他的出现是为了用若干种不同级别的优惠政策卖同一种软件,通过select /corp许可证授权方式得到的xxx的光盘都是VOL这一种、是并不是有很多种,只不过是相同的VOL光盘配以不同的许可证方式;而Volume Licensing (Product) Keys,即VLK,它所指的只是一个Key(密匙),仅仅是一个为证明产品合法化、以及安装所使用的Key,因为根据VOL计划规定,VOL产品是不需 要激活的!
或者说,VLK不是指一种版本,而是指这种版本在部署(deploy)过程中所需要的Key,而需要VLK这种Key的版本应该叫做VOL!只 不过在实际中,没有必要强调这种叫法、称呼的准确性,加之很多人的VOL版本光盘是通过企业的选择式许可证、企业协议等方式得到的等等原因,所以才会有很 多人叫他为“选择版”等等。
官方网站有一个表格,上面有一句话:“Different products require different Volume Licensing Keys (VLKs). Refer to the table below to make sure you have the correct VLK for your Microsoft product.”,我想这就很好的说明了VLK指的是Key而不是产品了。 很明显的,FPP需要激活,VOL不需要激活。
出处:PConline