2011年01月 存档

二项式系数 – Binomial Coefficients

2011年01月31日,星期一

二项式系数是组合数学中十分重要的基本知识,各种应用都少不了他.今天做了两个题,顺便总结下:

这个是我们了解到的最基本的形式,当k=0时,上式值为1,当k>n时,值为0;

帕斯卡三角中的每个数相当于顶上两侧数的加和,也可以用组合的思想来解释这个公式:

从n个人中选出k个人,我们先看其中的A某,如果他不在这k个人中,那么就相当于从n-1个人中挑出k个人,如果他在这k个人中,那么剩下的k-1个人就要从n-1个人中挑选.根据加法原理,总的数量就是这两种情况的和.
(更多…)

ZOJ 1274 Getting Chorded(模拟)

2011年01月23日,星期日

zoj 1274 Getting Chorded

“钢琴的音符有12种,A,A# (A-sharp), B, C, C#, D, D#, E, F, F#, G, and G#,同时按下三个音符,有三种情况,一种是Major chord,一种是Minor chord,最后一种是什么都不是unrecognized,假设按下的这三个音符按顺序排列分别是a,b,c,如果ab中间隔3个,bc之间隔2个,那么整个结果就是a Major chord,如果ab中间隔2个,bc之间隔3个,那么整个结果是a Minor chord(假定12种音符在琴键上是循环排列),给定三个音符,然你判断结果是上述三种中的哪一种”

由于他给的音符的顺序不确定,大小写也不确定,一个音符的两个名称给哪个也不确定,而且输出是要求原样,类型要输出大写,-___-……所以我们一步一步来。。。保留输入的形式方便输出;把音符的两个名称转化为带#的形式,然后转换成大写;比较恶心的是他的顺序也不确定,但是给定的三个它们的最终结果是一样的,那么给12种音符赋值为20,21,22,23,2……210,211,  三种的值相加是唯一的,所以。。。。。

代码很丑,体现了我做模拟题的一贯风格:
(更多…)

ZOJ 2803 Crashing Robots

2011年01月11日,星期二

ZOJ 2803 Crashing Robots

“机器人模拟,给定一个A*B的地图,给定N个机器人的初始位置和方向,然后会有M个操作,判断这M是否能正常执行,如果能,输出“OK”,否则输出是出界还是与另外的机器人相撞。操作是一步一步执行的,没有两个同时发生,’R’,’L’,’F’分别表示向右转,向左转,向前进一步……”

步骤比较繁,但是没有什么陷阱,考耐心。此题麻烦的就是方向的转化,用一个dir数组保存方向的变化量,然后每个方向对应一个变化量。

(更多…)

一年多了,你变了吗?

2011年01月9日,星期日

前天晚上,我正在图书馆查找关于python的书籍,有两个人从我旁边经过,无意间听到他们在谈论c语言,貌似都挺感兴趣的:

A:“你是说那个谭某的书吗?”

B:“恩,是啊,他那个现在还在卖,不过网上说他的有很多错误”

A:“对了,我寝室有人弄了一本什么c…… pro…gramming    lang…uage,英文的。。。”

B:“不知道能看进去不,咱找本什么样的呢?”

A:“恩。。。一定要是**出版社的,不过我看这里书不是很多啊。”

…………

他们手里面捧着电路神马神马的,想必是信工的吧,谭某的书应该就是那个绿皮书,K&R的书我曾经印过一本,草草翻过,现在忘了借给谁了。
(更多…)