題意不多說
題解:這道題的dp題非常好,方程式的定義看似簡單,但其實很難想到
dp[i][j]表示編號從i到j的點構成的多邊形中的最大三角形面積
注意到這一點,這個圖是封閉的,也就是乙個環狀,所以不能忽略掉如dp[n][1]這種情況
解決方法就是mod n
在根據一系列幾何知識: dp[i][j] = max( dp[i][k], dp[k][j], s(i,j,k);(s是三點圍成的面積)
然後對於凹多邊形,要判斷三角形是否存在,可以轉化成是否有點在三角形的內部,若存在,此三角形就不存在
code:
#include#include#include#include#include#includeconst int maxn=55;
const double esp=1e-9;
const int inf=0x3f3f3f3f;
using namespace std;
struct nodep[maxn];
int n; double dp[maxn][maxn];
inline double s(int t1,int t2,int t3)
bool inarea(int t1,int t2,int t3){
double cmp1=s(t1,t2,t3);
for(int i=0;i
最大面積問題 LargestReactangle
描述 在下列非負陣列中找出最大面積 heigh 0,2,1,3,4,3,2,0 若干非負陣列組成面積不同的矩形,求上述中的最大面積。在圖中畫出了下標 3 5 高度為3,面積為9的矩形和下標為 1 6 高度為1面積為6的矩形。思路 暴力遍歷 1 從下標i開始,對於每乙個高度heigh i h,向左遍歷...
10 18 最大面積 2432
學過初三數學或圓的相關知識的人都會求陰影部分面積。垂徑定理和勾股定理 s陰 a r2 1 2 a 2 b r 2 1 2 b 2 a b 然後就可以列舉a,b找最大值 a,b 2r var r,a,b,i,j longint c,max,b1,a1 double begin readln r for...
島嶼的最大面積
給定乙個包含了一些 0 和 1的非空二維陣列 grid 乙個 島嶼 是由四個方向 水平或垂直 的 1 代表土地 構成的組合。你可以假設二維矩陣的四個邊緣都被水包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為0。示例 1 0,0,1,0,0,0,0,1,0,0,0,0,0 0,0...