UVA 11123 - Counting Trapizoid
题目链接
题意:给定一些点,不重复,求出一共有几个梯形
思路:先把所有两点组成直线求出来,然后排序,斜率相同的C2n个,然后再扣除掉重叠的直线情况和长度相等情况(这样为平行四边形或矩形),由于扣除的时候会重复扣掉重叠和相等,所以在加回来,这是容斥原理。
代码:
#include
#include
#in...
以前我写过一篇文章,不规则图形uv贴图的,(http://blog.csdn.net/itolfn/article/details/17240131)当时用的三角剖分的算法,但是那个算法有所不完整,有一条这么规定的:最优性:任意两个相邻三角形形成的凸四边形的对角线如果可以互换的话,那么两个三角形六个内角中最小的角度不会变大。就是取四变形的最大化三角形内角去连接对角线,分组两个三角形,但是有时候不是...
分类:
其他好文 时间:
2014-06-24 19:23:23
阅读次数:
204
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1563题意:思路:设s[i]表示前i个句子的长度和,那么有转移方程:有大牛证明这个满足四边形不等式,证明应该比较复杂。在《1D/1D动态规划优化初步》这篇文章中,作者说实战中可以直接打表看看...
分类:
其他好文 时间:
2014-06-23 07:45:48
阅读次数:
335
规则多面体生成算法,算法本身很。开始想百度一份的,结果没百度到。贴出来,希望以后有用得到的同学可在直接拿去用。
算法过程
根据经纬线数目求出多面体表面所有点的坐标;连接南北极附近的三角形面;连接中间的四边形(或两个三角形);
算法实现
下面是该算法的C++实现.
Convex* SphereGenerator::generate(int longitudes, int l...
分类:
其他好文 时间:
2014-06-15 15:07:58
阅读次数:
385
iOS开发UI篇—Quartz2D使用(矩阵操作)一、关于矩阵操作1.画一个四边形通过设置两个端点(长和宽)来完成一个四边形的绘制。代码:
1 - (void)drawRect:(CGRect)rect 2 { 3 //画四边形 4 //获取图形上下文 5 CGContext...
分类:
移动开发 时间:
2014-06-12 09:46:49
阅读次数:
307
在Swift中,类的成员变量(属性)如果不需要计算,但又想在给它赋一个新值之前(或者之后)执行一段代码,可以使用willSet 和
didSet来处理.例如下面的代码样例,三角形(triangle)的边长总是与四边形(square)的边长相同. class TriangleAndSquare
{ ....
分类:
移动开发 时间:
2014-06-09 20:33:49
阅读次数:
262
首先黑点和白点是组成一个二分图这毫无疑问关键是题目中要求的所有黑白配的线不能交叉。。。一开始我也没想到这个怎么转化为二分图里面的算法。后来看书才知道,如果两两交叉,则可以把两根线当四边形的对角线,连四边形的两条边,则肯定不交叉,而且一个很明显的特征是,不交叉的两条线的他们的长度和
一定比交叉线的长度...
分类:
其他好文 时间:
2014-06-05 16:09:30
阅读次数:
263
环状合并石子问题。环状无非是第n个要和第1个相邻。可以复制该行石子到原来那行的右边即可达到目的。定义:dp[i][j]代表从第i堆合并至第j堆所要消耗的最小体力。转移方程:dp[i][j]=min(dp[i][k]+dp[k+1][j]+sum[i][j]);复杂度:O(n^3)。可考虑四边形优化。...
分类:
其他好文 时间:
2014-06-02 20:34:03
阅读次数:
226
题目链接:hdu 3269 Convex
题目大意:给出n个点,问任选四个点可以组成多少个凸四边形。
解题思路:和uav11529的做法是一样的,只不过求的东西不一样。
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
const int N =...
分类:
其他好文 时间:
2014-05-25 18:38:17
阅读次数:
155