题解:

dp+计算几何

F[i][j]表示第i-j条边的答案

然后转移一下

代码:

#include<bits/stdc++.h>
using namespace std;
struct note{int x,y;}a[];
int T,n,f[][];
int xot(note a,note b){return a.x*b.y-b.x*a.y;}
int cal(note a,note b,note c)
{
return abs(xot(a,b)+xot(b,c)+xot(c,a));
}
int area(int l,int r)
{
int s=xot(a[r],a[l]);
for (int i=l;i<r;i++)s+=xot(a[i],a[i+]);
return abs(s);
}
int check(int l,int m,int r,int s)
{
return s+area(l,m)+area(m,r)==area(l,r);
}
int deal(int l,int r)
{
if (f[l][r]>=) return f[l][r];
if (l==r||l+==r) return f[l][r]=;
int res=;
if (l+==r)return f[l][r]=cal(a[l],a[l+],a[r]);
for (int i=l+;i<r;i++)
{
int s=cal(a[l],a[i],a[r]);
if (!check(l,i,r,s)) continue;
int z=max(deal(l,i),deal(i,r));
z=max(z,s);res=min(res,z);
}
return f[l][r]=res;
}
int main()
{
scanf("%d",&T);
while (T--)
{
scanf("%d",&n);
memset(f,,sizeof(f));
for (int i=;i<=n;i++)scanf("%d%d",&a[i].x,&a[i].y);
printf("%.1lf\n",deal(,n)/2.0);
}
return ;
}

spoj Minimax Triangulation的更多相关文章

  1. uva 1331 - Minimax Triangulation(dp)

    option=com_onlinejudge&Itemid=8&page=show_problem&category=514&problem=4077&mosm ...

  2. UVA-1331 Minimax Triangulation 区间dp 计算几何 三角剖分 最大三角形最小化

    题目链接:https://cn.vjudge.net/problem/UVA-1331 题意 给一个任意多边形,把它分为多个三角形. 求某方案中最大的三角形是各方案中最小的面积的三角形面积. 思路 学 ...

  3. Minimax Triangulation

    题意: 按顺序给定一些点,把这些点分割为n - 2个三角形,花费为最大三角形面积,求最小花费 分析: 区间dp,dp[i][j]表示完成区间[i,j]最小花费,dp[i][j]=min(dp[i][j ...

  4. UVa 1331 - Minimax Triangulation(区间DP + 计算几何)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  5. UVA - 1331 Minimax Triangulation (区间dp)(最优三角剖分)

    题目链接 把一个多边形剖分成若干个三角形,使得其中最大的三角形面积最小. 比较经典的一道dp问题 设dp[l][r]为把多边形[l,r]剖分成三角形的最大三角形面积中的最小值,则$dp[l][r]=m ...

  6. uva1331 Minimax Triangulation

    题目大意: 按照顺时针或者逆时针的顺序给出多边的点,要将这个多边形分解成n-2个三角形,要求使得这些三角行中面积最大的三角形面积尽量小,求最小值. /* dp[i][j]表示从第i个点到第j个点,划分 ...

  7. Uva 1331 - Minimax Triangulation(最优三角剖分 区间DP)

    题目大意:依照顺时针或者逆时针的顺序给出多边的点,要将这个多边形分解成n-2个三角形,要求使得这些三角行中面积最大的三角形面积尽量小,求最小值. 思路:用区间DP能够非常方便解决,多边形可能是凹边形, ...

  8. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

  9. 转载:hdu 题目分类 (侵删)

    转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...

随机推荐

  1. cocos2d-x 贡献一个oss上传脚本

    平常写前端项目和H5游戏时特别频繁的一个操作就是上传到oss上,特别浪费时间.所以用ali-oss写了一个脚本.配置属性后直接npm run oss就能上传到oss上了.再也不需要手动操作.现在是脚本 ...

  2. Windows下安装MySql5.7(解压版本)

    Windows下安装MySql5.7(解压版本) 1. 官方地址下载MySql Server 5.7 2. 解压文件到目录d:\Soft\mysql57下 3. 在上面目录下创建文件my.ini,内容 ...

  3. .sh文件启动 jenkins

    https://jenkins.io/index.html Jenkins的war包下载http://192.168.89.132:8080/jenkins /home/xmh/.jenkins   ...

  4. IP通信基础学习第二周

    此周的课程学习应该算是我对此科目真正学校生涯的开始吧,尽管我对该科目仍感到很陌生. 课程一开头,老师就给我们简单的介绍了网络的定义.发展及其分类,重点讲了网络拓扑结构及其在局域网上具体的分层情况.该部 ...

  5. java微信开发之地图定位

    页面代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  6. Python3 批量替换文本内容

    Python3 批量替换文本内容 示例: # coding:utf8 import os; def reset(): i = 0 path = r"H:\asDemo\workdemo\aw ...

  7. Ansible 的初步使用

    在安装好ansible以后,首先使用ansible -h命令和ansible --version 命令查看帮助手册和版本信息. ansible 配置文件 ansible 的配置文件有多个位置,查找顺序 ...

  8. Numpy中的广播原则(机制)

    为了了解这个原则,首先我们来看一组例子: # 数组直接对一个数进行加减乘除,产生的结果是数组中的每个元素都会加减乘除这个数. In [12]: import numpy as np In [13]: ...

  9. mvc 之 RouteConfig配置

    //这里没有使用对用的指定参数 /Day_1:表示解决方案的名称,意思是默认找到该项目解决方案目录下的controllers进行匹配 routes.MapRoute( "Default&qu ...

  10. win7 64位下redis的安装

    1.下载Redis安装包. 下载地址 https://github.com/MSOpenTech/redis,找到Release,点击前往下载页面,点击Redis-x64-3.2.100.msi下载. ...