Minimax Triangulation UVA
来源:互联网 发布:手机vpn代理软件 编辑:程序博客网 时间:2024/05/21 10:08
按照紫书上面的思路,注意三角形面积的计算运用到向量以及利用计算几何的相关知识判断多边形点的连线是否是多变形的对角线,具体实现见如下代码:
#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>using namespace std;int T;int n;double point[55][2];double dp[55][55];double area(int index1,int index2,int index3){double x1 = point[index1][0] - point[index3][0];double y1 = point[index1][1] - point[index3][1];double x2 = point[index2][0] - point[index3][0];double y2 = point[index2][1] - point[index3][1];return fabs((x1*y2-x2*y1)/2);}bool feasible(int i,int j,int k){double s = area(i, j, k);for (int ind = 0; ind < n; ind++){if (ind == i || ind == j || ind == k) continue;double test = area(i, k, ind) + area(j, k, ind) + area(i, j, ind);if (fabs(test - s) < 1e-6) return false;}return true;}int main(){cin >> T;while (T--){cin >> n;for (int i = 0; i < n; i++){cin >> point[i][0]>>point[i][1];}for (int i = n - 1; i >= 0; i--){for (int j = i+2; j < n; j++){dp[i][j] = 1e10;for (int k = i + 1; k < j; k++){if (feasible(i,j,k)){dp[i][j] = min(dp[i][j], max(max(dp[k][j],dp[i][k]), area(i, j, k)));}}}}cout<<fixed<<setprecision(1)<< dp[0][n - 1] << endl;}return 0;}
阅读全文
0 0
- UVa 1331 Minimax Triangulation
- UVA-1331Minimax Triangulation
- uva 1331 Minimax Triangulation
- UVA 1331 Minimax Triangulation
- Minimax Triangulation UVA
- uva 1331 - Minimax Triangulation(dp)
- UVa OJ 1331 - Minimax Triangulation
- UVA 1331 Minimax Triangulation 区间DP
- uva 1331——Minimax Triangulation
- UVA 1331Minimax Triangulation——最优三角剖分
- UVALive 3132 Minimax Triangulation
- hdu 1966 Minimax Triangulation
- 1331 - Minimax Triangulation(DP)
- Uva 1331 - Minimax Triangulation(最优三角剖分 区间DP)
- UVA 1331 Minimax Triangulation [最优三角剖分] [dp] [计算几何]
- 1331 - Minimax Triangulation (区间DP+几何)
- Minimax Triangulation - POJ 2066 dp+几何
- UVA 1331 Minimax Triangulation 最大面积最小的三角剖分(区间dp--记忆化搜索)
- HDU 6050 推公式
- spring-status-hibernate
- Struts2(9)——struts2与OGNL的结合(二)
- 测试之黑盒测试用例设计方法(等价类划分法)
- SpringMVC、Spring和Struts的区别
- Minimax Triangulation UVA
- 最全Pycharm教程(36)——Pycharm中Vagrant高级技巧
- webstorm sublime工具代码简写
- HDU 6033 数论
- java.sql.SQLException:ORA-01861:文字和格式字符串不匹配
- 三种线程间的通信方式(让随机被调用的线程变成"人为调用"的线程)
- 性能测试时常用的术语及意义
- 私有IP,A类IP地址,B类IP地址,C类IP地址
- 使用Spring实现读写分离