hznu 1139: Minimax Triangulation(dp,三角形面积模板)

雷达信号处理DDC数字下变频 由于接收到的雷达信号频率较高,不能对其进行直接采样并数据处理,所以需要对雷达信号进行预处理,在降低其采样率的同时,将其由中频降低到低频,然后对输出的基带信号进行后续的解析,以便于获取雷达信号的特征参数。 本文采用数字正交下变频,将单通道信号转化为正交双通道信号,数字下变频(DDC)的原型为模拟下变频,通过对窄带雷达信号或单频信号进行数字混频,然后对信号进行正交采样,提取 I、Q 两路正交分量,最后通过滤波去除信号中的高频分量,将信号由中高频搬移至低频。 模拟下变频的系统框图如下: 其数学推导. 阅读详情

Triangulation of surfaces has applications in the Finite Element Method of solid mechanics. The objective is to estimate the stress and strain on complex objects by partitioning them into small simple objects which are considered incompressible. It is convenient to approximate a plane surface with a simple polygon, i.e., a piecewise-linear, closed curve in the plane on m distinct vertices, which does not intersect itself. A chord is a line segment between two non-adjacent vertices of the polygon which lies entirely inside the polygon, so in particular, the endpoints of the chord are the only points of the chord that touch the boundary of the polygon. A triangulation of the polygon, is any choice of m - 3 chords, such that the polygon is divided into triangles. In a triangulation, no two of the chosen chords intersect each other, except at endpoints, and all of the remaining (unchosen) chords cross at least one of the chosen chords. Fortunately, finding an arbitrary triangulation is a fairly easy task, but what if you were asked to find the best triangulation according to some measure?

输入

On the first line of the input is a single positive integer n, telling the number of test scenarios to follow. Each scenario begins with a line containing one positive integer 2 < m < 50, being the number of vertices of the simple polygon. The following m lines contain the vertices of the polygon in the order they appear along the border, going either clockwise or counter clockwise, starting at an arbitrary vertex. Each vertex is described by a pair of integers x y obeying 0 <= x <= 10 000 and 0 <= y <= 10 000.

输出

For each scenario, output one line containing the area of the largest triangle in the triangulation of the polygon which has the smallest largest triangle. The area should be presented with one fractional decimal digit.

样例输入

1
6
7 0
6 2
9 5
3 5
0 3
1 1

样例输出

9.0
http://hsacm.cn/JudgeOnline/problem.php?id=1139

//按顺时针或逆时针给你一个m边形
//将它分成m-2个三角形,使得三角形中最大的面积最小 
//求这个面积(注意分割线不能相交) 
//dp[i][j]表示顶点i到顶点j的最大三角的最小面积
#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
#include<cmath>
#include<queue>
#include<stdlib.h>
#include<map>
#include<vector>
#include<cstdio>
#define INF 1e9
#define ll long long
using namespace std;
struct node  {  
    int x,y;  
}point[51];  
int t,n;
double dp[51][51];  
int multiply(int a,int b){  
    return point[a].x*point[b].y-point[a].y*point[b].x;  
}  
double area(int a,int b,int c){ //已知三点求三角形面积的模板 
    int ret=multiply(a,b)+multiply(b,c)+multiply(c,a);  
    if(ret>0)  
      return ret/2.0;  
    else 
      return -ret/2.0;  
}  
bool judge(int a,int b,int c){  
    double ret=area(a,b,c);  
    for(int p=1;p<=n;p++){  
        if(p==a||p==b||p==c)  
          continue;  
        if(ret==area(a,b,p)+area(a,c,p)+area(b,c,p))//有其他点在这个三角形内,不符合【分割线不相交】 
          return false;  
    }  
    return true;  
}  
int main(){  
    scanf("%d",&t);  
    while(t--){  
        scanf("%d",&n);  
        for(int i=1;i<=n;i++)  
           scanf("%d%d",&point[i].x,&point[i].y);  
        for(int i=1;i<=n-2;i++)  
           dp[i][i+2]=area(i,i+1,i+2);  
        for(int p=3;p<n;p++){
           for(int i=1;i+p<=n;i++){  
               int j=i+p;  
               dp[i][j]=INF;  
               for(int k=i+1;k<=j-1;k++){
                    if(judge(i,j,k)) 
                        dp[i][j]=min(dp[i][j],max(area(i,k,j),max(dp[i][k],dp[k][j]))); 
               }
           }  
       }
        printf("%.1f\n",dp[1][n]);  
    }  
    return 0;
}  


交换机背板带宽、交换容量与包转发率到底是啥? 在网络工程中,交换机是核心设备之一,而关于它的性能指标,背板带宽、交换容量、以及包转发率往往成为人们衡量其性能的重要参数。这些术语的定义、关系、以及在实际场景中的应用,都对交换机的选型与部署有着重要意义。本文将为您全面解读这些概念,帮助您深入了解交换机的核心性能指标。 阅读详情

相关推荐

ISO26262 功能安全各个阶段测试要求

1. 开发过程说明 系统层面:包括软硬件集成测试、系统集成测试以及整车测试。 硬件层面:包括硬件集成与测试。 软件层面:单元测试、集成测试。 2. 功能安全总体要求 2.1 各项指标 2.2 诊断覆盖度举例 针对一个信号举例说明: 3. 功能安全测试要求 3.1 测试计划 核心内容应包括, 测试对象:需要测试的对象描述,以及测试的范围描...

AgingMoon的博客 1万+

uva 1331——Minimax Triangulation

题意:三角刨分,把一个m边形分解成m-2个三角形,求一个最大三角形最小的刨分,输出最小的那个三角形面积。 思路:递推。可能需要一点几何思维,d(i,j)为多边形的最优解,则d(i,j)=min(s(i,j,k),d(i,k),d(k,j));s(i,j,k)是三角形i-j-k的面积。然后枚举i,j,k求出最优即可。 code: #include using namespac

坚持不懈 800

ORBSLAM3运行记录(单目+IMU)

ORBSLAM3运行记录1.单目+IMU数据集运行记录自己做的其它测试2.单目+IMU自己采集数据运行记录测试结果 1.单目+IMU数据集运行记录 ORBSLAM3没有预留ROS下单目+IMU的结点,这个需要自己去写代码添加,可以参考这篇博客,《ORBSLAM3 用ROS接口运行双目IMU和单目IMU模式》。我的ROS结点为Mono-IMU,字典文件ORBvoc.txt在ORBSLAM3 / Vocabulary文件夹中,配置文件EuRoC.yaml在ORB_SLAM3 / Examples / Monoc

yys2324826380的博客 1万+

ACM: 计算几何题 poj 2066

Minimax Triangulation   Description Triangulation of surfaces has applications in the Finite Element Method of solid mechanics. The objective is to estimate the stress and strain on complex objects by

smile_benson 458

DDR5内存命令真值表详解:如何正确解析JESD79-5标准中的关键指令

本文深度解析JESD79-5标准中的DDR5内存命令真值表,将其视为动态通信协议进行拆解。详细阐述了1-Cycle与2-Cycle命令的区别、Bank Group寻址机制以及模式寄存器(MR)操作流程,为硬件与固件工程师提供了从信号解析到系统调试的完整实战指南,是理解和优化高性能计算平台内存子系统的核心。

numpy6sculptor的博客 548

IAR安装成功的关键:STM32设备支持文件导入方法

IAR安装常卡在设备支持缺失这一步——尤其对STM32新手,没导入对应芯片包,编译直接报错。实测发现,必须通过IAR的Tools→Options→IDE→Configuration→Device Support手动加载STM32设备支持文件,否则新建工程时连芯片型号都选不到。IAR安装是否顺利,往往就差这一步。

weixin_42527589的博客 680

uva 1331

原题: Triangulation of surfaces has applications in the Finite Element Method of solid mechanics. The objective is to estimate the stress and strain on complex objects by partitioning them into small si...

@fei 404

微信小游戏CE修改实战:从入门到精通(附防作弊思路)

本文深入探讨微信小游戏的安全攻防实战,重点分析CE修改、反编译和重打包等安全风险。通过详细的内存修改案例和代码保护方案对比,提供从客户端到服务端的全方位防护策略,帮助开发者构建有效的防作弊体系。

m2n3b4v5c6的博客 1145

zoj1331

ZOJ Problem Set - 1331 Perfect Cubes Time Limit: 10 Seconds      Memory Limit: 32768 KB For hundreds of years Fermat's Last Theorem, which stated simply that for n > 2 there exist no integers

lijincai901202的专栏 508

【FPGA】高效捕捉信号边沿的硬件实现技巧

本文深入探讨了FPGA设计中高效捕捉信号边沿的硬件实现技巧。核心在于通过“打两拍”同步器处理亚稳态风险,并详细解析了上升沿、下降沿及双边沿检测的基础原理与Verilog实现。文章进一步介绍了脉冲展宽、数字滤波等高级优化方案,并结合UART起始位检测与按键消抖等实战场景,提供了可靠的代码范例与调试心得,帮助工程师构建稳定可靠的边沿检测模块。

weixin_29165465的博客 227

【AUTOSAR-E2E】-2.3-配置E2E:基于E2EPW配置一个RX接收的Signal Group(使用E2E Profile 1)

《共13页精讲》:此法也适用于E2E Profile 4/5/6/7/11/22 目录 1 检查CAN Matrix Arxml/DBC是否满足E2E需求 2 在DaVinci Developer中为Port添加E2E保护 3 在DaVinci Configurator settings设置 4 如何使用应用层的E2E保护 5 结尾 <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <-.

「汽车电子助手」的博客 3952

[UVA1331]最大面积最小三角形剖分

Triangulation of surfaces has applications in the Finite Element Method of solid mechanics. Theobjective is to estimate the stress and strain on complex objects by partitioning them into small simpleo

UISG103的博客 565

基于PUMA实现DOA估计-附Matlab代码

具体而言,PUMA算法将接收的信号分别在时域和频域上进行处理,并结合平稳合成(SS)和平稳子空间(SSP)方法,以提高估计精度。该算法将传统的基于协方差矩阵的最大似然(ML)和最小二乘(LS)方法扩展到了非均匀线性阵列(ULA)上,并通过对信号分离和DOA估计的优化,达到了高精度和高分辨率的效果。方位角(DOA)估计是信号处理中的一个重要问题,它的目的是确定从多个传感器接收到的信号的方向。本文将介绍如何使用基于PUMA的方位角估计算法来实现DOA估计,并附有相应的Matlab代码实现。

Byte_O_O的博客 496

三角形面积计算

Niliwo的博客 344

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

UVA1331 Minimax Triangulation

Address UVA1331 洛谷RemoteJudge Description 给定一个 nnn 条边的多边形(不一定是凸多边形),用 n−3n−3n-3 条线段(线段必须连接多边形上的两点,每条线段都必须在多边形的内部,并且任意两条线段都不能在多边形内相交)把多边形剖分成 n−2n−2n-2 个三角形,试找出一个切割方案,使得最大的三角形面积最小。 Input ...

Log_x's Blog 666

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

UVA 1331 Minimax Triangulation [最优三角剖分] [dp] [计算几何]

Minimax Triangulation Time Limit: 3000MS 64bit IO Format: %lld & %llu 计算几何版的最优三角剖分,同样是dp的基础。 这个要考虑凹多边形的情况,那么此时需要把剖分的三角形做一个判断,判断是否有点在三角形内部。 然而像这样的特殊情况不用单独考虑,因为虽然这种三角形是合法的,但是却不能转移到任何下阶段的状态

C'est la vie. 651

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TDD笔记3 三角测量Triangulation

TDD的第三章主要讲了一个概念Triangulation,用金山词霸查了的意义为三角测量。   三角测量的原理颇为简单,基本,非常好理解。如两眼睁开穿针很容易,一只眼睛就非常不容易,如果没试过不妨试一下。打官司的时候往往是公说公有理,婆说婆有理,但只要有一个无利害关系的第三方,就很容量理清是非了。   在软件测试领域三角测量也非常有用。如在TDD的第二章有这样一个测试用例。 public voi...

rockieyungn的专栏 1178

UVa 1331 最大面积最小的三角剖分(dp)

一共有4条边,我们可以以随意的顺序切割,不过如果这样的话,就会出现类似v0v3v4v6这样的多边形,这样的多边形很难用简洁的状态表示出来,这就是让我一开始很纠结的地方。 其实我们会发现,对于同一种切割方法,我们可以有多种切割顺序,但我们只要计算一种就好了,不如把决策顺序规范化。例如还是上面第一张图,我们可以先切割出三角形v0v3v6,那么我们切割完之后可以把图分割成一个三角形和两个多边形...

城南的花 404

UVA 1331 Minimax Triangulation 区间DP

区间DP: 将一个多边形三角剖分,让可以得到的最大三角形的面积最小 dp[i][j]表示从i点到j点的最优值,枚举中间点k dp[i][j]=min(dp[i][j],max(area(i,j,k),max(dp[i][k],dp[k][j]))); 注意如果中间三角形i-j-k中有其他的点,这样的三角形是不可以剖分的 Minimax Triangu

码代码的猿猿 1535

bzoj4449 [Neerc2015]Distance on Triangulation

Description 给定一个正 n 边形及其三角剖分, 共 2n − 3 条边 (n 条多边形的边和 n − 3 条对角线), 每条边的长度为 1. 共 q 次询问, 每次询问给定两个点, 求它们的最短距离. 对于前 5% 的数据, n ≤ 10; 对于前 15% 的数据, n ≤ 1000; 对于前 25% 的数据, n ≤ 5000; 对于前 35% 的数据, n ≤ 10...

olahiuj的博客 654

1331 - Minimax Triangulation(DP)

该题就是最优三角形剖分的变形,虽然要用到一些几何知识,但是我们可以将其区间化,让决策变得有序 。  这样就变成了区间问题 。  我们定义d[i][j]表示由i~j顶点组成的子多边形的最优解,那么不难写出状态方程 : d[i][j] = min(max(d[i][k],d[k][j],S)) 其中S为i、k、j三个顶点构成的三角形面积。 我们不难发现这样的递推是正确的,但是有一个问题:我们划分出的图

AC_Arthur的专栏 1155

三角测量(triangulation)

主要是通过相机的运动来估计特征点的空间位置。 设x1,x2分别为两个特征点的归一化坐标,s1,s2,为两个特征点的深度值,R,t表示两帧之间的变换。 那么就有 s1*x1=s2*R*x2+t; 现在方程左右两边左乘x1^,求x1的外积,那么就有 0=s2*x1^*R*x2+x1^*t; 可以直接求出s1和s2的值。 但是一般情况下R,t不一定精确,所以一般应用最小二乘求解,那么怎么求

liukang10的博客 8298

uva 1331 - Minimax Triangulation(dp)

题目大意:按照顺时针或者逆时针的顺序给出多边的点,要将这个多边形分解成n-2个三角形,要求使得这些三角行中面积最大的三角形面积尽量小,求最小值。 解题思路:状态很好想,dp[i][j]表示从第i个点到第j个点,划分成j-i-1个三角形的最优解,然后每次转移时,枚举长度和左边界始点,那么根据长度和左边界点就可以知道右边界点,然后枚举左边界和右边界中间的点k,dp[i][j] = min(d

不慌不忙、不急不躁 2998

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

题目大意:按照顺时针或者逆时针的顺序给出多边的点,要将这个多边形分解成n-2个三角形,要求使得这些三角行中面积最大的三角形面积尽量小,求最小值。 思路:用区间DP可以很方便解决,多边形可能是凹边形,注意剖分的三角形必须在多边形内部,所以可以去掉剖分的三角形中包含其他点,但是其他的在多边形外部的三角形没想到其他方法去除,却ac了,不懂为何 // Accepted C++ 0.042 #inclu

kalilili的专栏 1670

ZOJ2227Minimax三角划分

Despription Triangulation of surfaces has applications in the Finite Element Method of solid mechanics. The objective is to estimate the stress and strain on complex objects by partitioning them into ...

毛线岛民的博客 256

Fast triangulation of unordered point clouds

转自:http://pointclouds.org/documentation/tutorials/greedy_projection.phpFast triangulation of unordered point cloudsThis tutorial explains how to run a greedy surface triangulation algorithm on aPointC...

hjwang1的专栏 882
上一篇: hznu 1628: 旅行家的预算(贪心,分类)
下一篇: hznu 1636: 方格取数(dp,灵活题)
ccyy-
博客等级 码龄12年 31粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值