题意:n*m的矩阵任选三个点,可以有多少种不同的三角形。
解法:组合数学C((n+1)*(m+1),3)是所有三个点的情况。然后在减掉共线的。共线的分为两种:
1、共横线或竖线:C(n+1,3)*(m+1)+C(m+1,3)*(n+1);
2,斜线的:这个要枚举矩形,然后三个点有两个取矩形的对角线,另一点枚举(对角线上的整数点个数是gcd(i,j)...
分类:
其他好文 时间:
2014-06-11 00:27:59
阅读次数:
311
作者: tianhai110 原文链接 序列图主要用于展示对象之间交互的顺序。
序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。...
分类:
其他好文 时间:
2014-06-06 23:10:46
阅读次数:
237
这是个挺有意思的小问题,给定一组直线(至少两条不平行),希望能找到和这组直线尽可能垂直的直线。打个比方,比如在三维空间中,如下图(forked from
wiki)a和b分别是在一个平面上不平行的两条直线上,那么显而易见与a和b所在直线垂直程度最高的就是与a和b俩俩垂直的竖线,也就是叉积axb方向平...
分类:
其他好文 时间:
2014-05-28 02:42:17
阅读次数:
437
给定一个向量,其中的每个元素代表了高度,比如height[3] = 5,说明在坐标轴中在点3处存在高度为5的竖线,这样所有的元素就形成一个琴状的形状,最后要求的就是两条竖线之间的矩形形状最大的面积。最直觉的做法就是穷举,这样的复杂度是O(n2),显然还有更合适的方法,因为在这样的方法中有很多确定要小的面积也进行了计算。关于面积有两个变量,一个是横轴之间的距离,;另一个是两条竖轴之间的距离。我们可以固定其中一个变量,很显然,我们可以先取最远的两条竖线进行比较,然后使两个辅助指针逐渐缩小,取两个辅助指针中的较小...
分类:
其他好文 时间:
2014-05-20 15:44:28
阅读次数:
227
题目链接:uva 11538 - Chess Queen
题目大意:在一个n?m的棋盘上,放两个皇后,要求两个皇后可以互相攻击,求有多少种放法。
解题思路:因为皇后的攻击范围为竖线、横线和斜线,所以枚举每条上两个皇后放的位置,比如一条斜线有8个,那么放两个皇后的种数就有C(82)种。
行数n,每行m个位置C(m2)?n
列数m,每列n个位置C(n2)?m
斜线,2?(2?∑i=1...
分类:
其他好文 时间:
2014-05-15 14:36:21
阅读次数:
250
2014-04-28
22:05题目:写个程序判断三连棋哪一方赢了。解法:三个相同的棋子连成一条横线,竖线或者对角线就判断为赢了。代码: 1 // 17.2 Write an
algorithm to check if someone has won the tic-tac-toe game. 2 ...
分类:
其他好文 时间:
2014-04-29 18:12:07
阅读次数:
474
第三讲 风格与模式
3.1自顶向下风格
复杂问题分解,直到小问题足够简单,可以掌控为止
是一种思考方式
把大的任务不断的分解为更小的子任务
另一法宝:忽略,忽略细节
程序问题
制定框架---》逐步细化---》逐步精华---》分解为子问题
打印特定的形状
做一个二维数组的缓冲区
向缓冲区输出
缓冲区输出屏幕上
数组初始元素都是0
表格:横线,竖线。...
分类:
其他好文 时间:
2014-04-28 10:16:40
阅读次数:
436