知识点:
组合数学-容斥原理,快速幂,逆元。
题目大意:
共有m 种颜色,为n盆排成一直线的花涂色。要求相邻花的颜色不相同,且使用的颜色恰好是k种。问一共有几种涂色方案(结果除10e9+7取余数)。
解题思路:
首先可以将m 与后面的讨论分离。从m 种颜色中取出k 种颜色涂色,取色部分有C(m, k) 种情况;
然后通过尝试可以发现,第一个有k种选择,第二个因不能与第一个相同,只有(k-1) 种选择,第三个也只需与第二个不同,也有(k-1) 种选择。总的情况数为k ×(k-1)^(n-1)。但这仅保证了相...
分类:
其他好文 时间:
2015-01-24 15:59:04
阅读次数:
227
地图控件MKMapView由于要从网络上加载地图数据并在内存中缓存,因此通常占用的内存开销特别大,特别是当用户进行放大缩小、快速拖动、3d旋转时,内存基本呈直线上升,单个地图控件占用百兆内存不成问题。
假设在一个UITableView中,每个Cell的宽度和高度分别为320、150,每个Cell中都放置一个高度为320*150的MkMapView,采用Cell重用的方式,这种情况下iPh...
分类:
移动开发 时间:
2015-01-24 14:29:07
阅读次数:
745
刷了很久计算几何,好歹算是有些收获,总结一下吧。计算几何不同与解析几何,这里大部分使用的是向量和点,而不是解析式。 直线/射线:一个点+一个方向向量。 线段:两个端点。 多边形:按逆时针排序的点集。 圆:圆心+半径。 点积:两个向量的数量积。 叉积:两个向量组成的四边形的有向面积。基础部...
分类:
其他好文 时间:
2015-01-24 11:31:24
阅读次数:
182
牛径即牛走出来的路,我记得有一幅图是这样描绘的,几只牛被围在一堆有半人高的草从中,这些牛把中间的草吃出了一块空地,但吃完草,牛就开始找水喝,在离他们不远的地方就有一条小河(直线距离只有几米远),但牛看不到这条河,于是,有一天,一只牛不小心走出了一条弯弯曲曲的路(这条路的距离,远远大于直线的距离),并...
分类:
其他好文 时间:
2015-01-24 00:16:10
阅读次数:
334
题目大意:给出平面上的一些点,问面积最小的矩形满足覆盖所有的点。
思路:覆盖问题和不是凸包上的点没关系,先做凸包。根据贪心的思想,这个覆盖了所有点的矩形肯定至少有一条边与凸包上的边重合,那么我们枚举凸包上的每一条边,对于这个已经确定了一条边的矩形,不难确定其他三个边。注意到已知当前直线的向量,就可以求出两侧和对面的向量,而这三个向量随着枚举的边的移动是单调的,所以就可以用旋转卡壳来卡住剩...
分类:
其他好文 时间:
2015-01-23 23:11:16
阅读次数:
481
本次试验基于mininet平台,在平台中利用ovs新建1个交换机,以pox为控制器,ovx作为中间层实现虚拟化。基础请参照http://ovx.onlab.us/getting-started/tutorial/但是由于上述只是直线拓扑,而且中间不经过节点,因此我们要构建一个复杂的拓扑,如标红的拓扑...
分类:
Web程序 时间:
2015-01-23 18:07:08
阅读次数:
200
一、目标。 制作类似手机设置中的效果。如图二、代码实现。 1、整体采用线性布局,最上面是一个TextView,下面一个采用相对布局,并设置该相对布局的与边缘的偏移量。 2、在相对布局中存在4个组件:2个TextView、1个CheckBox和1条直线。 3、直线的画法:采用控件,设置高度为“...
分类:
移动开发 时间:
2015-01-22 20:07:02
阅读次数:
198
磁盘级别概念 这里讲的主要是网上所谓的老式磁盘,它是由一个个盘片组成的,我们先从个盘片结构讲起。如图1所示,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。图2展示了由一...
分类:
系统相关 时间:
2015-01-22 19:47:40
阅读次数:
285
Problem G. Birthday Cake
Background
Lucy and Lily are twins. Today is their birthday. Mother buys a birthday cake for them.Now we put the cake onto a Descartes coordinate. Its cen...
分类:
其他好文 时间:
2015-01-22 18:18:05
阅读次数:
171
题意:平面上有一些半径为R的圆,现在要在满足不与现有圆相交的条件下放入一个圆,求这个圆能放的位置的圆心到原点的最短距离。解法:我们将半径扩大一倍,R = 2*R,那么在每个圆上或圆外的位置都可以放圆心了。首先特判放到原点可不可以,如果不可以,再将所有圆的圆心与原点的直线与该圆相交的点放入队列,再将所...
分类:
系统相关 时间:
2015-01-20 20:23:49
阅读次数:
270