- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 SGU 177 Square(并查集)
题意:给出一个n×n的矩阵,矩阵上每个格子最开始都是白色的,给出m个操作,每个操作会把一个矩形染成黑色或白色,问最后有多少个白的格子。 思路:这题让我不禁想起了poj 2528,这类的染色问题应该都能用并查集搞……从后往前处理操作,这样已经画过的地方就不会第二次被染色,然后把染过的标记一下,接下来就是用并查集把染过的“跳过去”就好了,在这个过程中统计一下染过的黑色格子的数量,用总量一减就OK了~
2013-12-06 19:06:02 1008
原创 SGU 155 Cartesian Tree(笛卡尔树)
题意:根据给出的key和val的值,构造一棵笛卡尔树。 思路:一个裸题,不过以前没写过笛卡尔树,这东西意外的好写……首先按key值排序,然后依次插入,可以看出后插入的节点一定是在最右侧,剩下就是根据val的值去改变树的形态,用一个栈去存当前的右链,当插入一个新节点时,从栈中找到第一个比当前节点小的节点作为当前节点的父亲,其他节点为当前节点的左子树。 代码: #include
2013-12-04 12:02:10 956
原创 SGU 153 Playing with matches(博弈)
题意:取石子游戏升级版,每次能取1,P1,P2,...,Pm 个。 思路:没有后面的条件就很简单了。不过加了这个条件也没复杂多少,大概想法就是标出必胜点必败点,然后就能找出循环节,然后就好弄了,其实找到最大能取的石子的数量的两倍的石子数就能确定循环节了…… 代码: #include #include #include #include #include #in
2013-12-03 19:06:57 1069
原创 SGU 120 Arhipelago(计算几何)
题意:给出一个正N边形的两个顶点,求正N边形的所有顶点。 思路:因为基本没写过几何,所以写得十分蛋疼,改了好久才过……这题主要是求中心点,只要求出中心点,那么通过旋转,就可以求出所有的点了。首先求出给出的两个顶点与中心点的夹角d=abs(n1-n2)*(2π/N)。然后把这条线转到中心上,然后就可以搞了…… 代码: #include #include #include #in
2013-12-02 12:46:32 761
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人