摘要: 半平面交,求解多变形内核的问题 感觉一个讲的很清晰的链接 http://www.cnblogs.com/ka200812/archive/2012/01/20/2328316.html首先说一下什么是多边形内核,内核是一个点集,该集合内的任意一个点与简单多边形边界上一点的连线都在简单多变形内,也可以说集合内任意一点都可以看见该多边行内的任何一个地方。求解多边形内核的方法是用多边形的两个顶点组成的线段不断的去切割多边形,切割到最后剩下的,就是内核区间了。一条直线可以将平面切割成两个区域,假设直线方程为ax+by+c==0,那么,两个平面可分别表示成ax+by+c>=0 和 ax+by+c& 阅读全文
posted @ 2012-08-18 21:35 AC_Girl 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=2121很很简单的题,权当用map 做着玩吧,就是给出英文的数,然后让你转换成数字,注意当是 百,千,百万的时候的处理,不为别的,就为了那个打表,打的眼晕,最后还是打错了,交了两次才发现,汗View Code 1 #include<iostream> 2 #include<sstream> 3 #include<cstdio> 4 #include<cstring> 5 #include<algorithm> 6 #include<string> 7 #includ 阅读全文
posted @ 2012-08-18 11:28 AC_Girl 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3286假设从 1 到 m的数中 含有 0 的个数为 numm,从 1 到 n 含有 0 的个数为 numn 那么要求 从 n 到 m 的数里含有 0 的个数 ans = numm - numn + sum(n 里面含有 0 的个数)对于给的数N,从右到左枚举每一位,当枚举第 i 位时,它左边的数记为 left,从它自身到最后记为 right, 1 若第 i 位为 0,说明 N里面本身有一个0 , 求出比 left 0 right(— 0 —) 小的数+1 加至 sum ; 2 若第i 位不为0,则 N 该位没0,那么小于 left 0 阅读全文
posted @ 2012-08-18 11:13 AC_Girl 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=2231题意:给出 n 头牛,给出 n 头牛的位置,求出每头牛到其他牛的距离的总和按给的牛的位置从小到大排序,假设 第 i 头牛的位置为 xi ,那么它前面的牛的个数假设是 N 个,并且我们可以求出它前面这些牛的 x (位置)值的和 记为 sum,那么它前面的这些牛到他的距离就是 N * xi - sum,同样处理它后面的那些牛的距离,对每头牛都这样处理后,把每头牛到其他牛的距离总和相加,就是答案代码写的有点乱View Code 1 #include<iostream> 2 #include<cstdio> 3 阅读全文
posted @ 2012-08-18 10:55 AC_Girl 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3150题意:给出 n 个数构成一个环,给出 m d k,每一个数从它的两边(连续的)各找 d 个数和这个数相加 再取余m后更新这个数,问 k 次操作后,输出新的n 个数的顺序。不知道怎么优化,看了别人的解析 http://hi.baidu.com/moon_1st/item/0381d80a85fd258a3d42e2f0,循环矩阵经过 k 次幂后仍然是循环矩阵,而且有 a[i][j] = a[i - 1][j - 1]成立,这样转移矩阵的下一列就可以由这一列转换过去,降低复杂度题目:http://poj.org/problem?id 阅读全文
posted @ 2012-08-18 10:43 AC_Girl 阅读(136) 评论(0) 推荐(0) 编辑