Kadj Squares 幾何思維

2021-10-05 04:58:37 字數 842 閱讀 5234

kadj squares

題意:不斷加45°角站立的正方形,在互不相交的情況下,使得每個正方形底端點盡量靠左,求在上方視角可以看到的正方形編號

解法:l[i] r[i] x[i] 分別表示 i正方形的左端點、右端點、邊長

因為每個新正方形 i 總會和另外乙個正方形 j 的一條邊重合,由此可計算新正方形左端點座標l= r[j]-fabs(x[i]-x[j])/sqrt(2)

每加乙個正方形,和之前所有正方形列舉計算出l  取所有l中的最大值,是合法情況 且 是最優解

其次求更新每個正方形之間的覆蓋影響

i 正方形 對前面 j 正方形的影響:

1.若x[j]2.若x[j]>x[i] 則 j 正方形 在 i 正方形上方,更新 i 正方形有效端點

更新完後,若 i 正方形 可見範圍 >0 ,則可見,輸出

#include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #define down down

using namespace std;

double x[55];

double l[55],r[55];

double g=sqrt(double(2));

int main()

}} for(int i=0;i1e-10)

else printf(" %d",i+1);

}}

printf("\n");

}}

Kadj Squares 計算幾何思維

題意 給你幾個正方形的邊長,把這些正方形按順序放入直角座標系的第一象限,其中邊長與x y軸成45度角。可以有重合邊,但不能有重合面積。問從 y 軸上方看可以看到那些正方形。思路 先確定每個正方形的左右端點,再判斷那些正方形被覆蓋。include include include using names...

C White Sheet 思維 幾何基礎

思路 需要轉化成白塊與兩塊黑的 的總面積,為了處理兩個黑的重疊面積,然後白塊去掉其重複部分,再比較白與黑的總相交面積是否達到白塊的面積 include include include include include include include include include define deb...

UVALive 5873 (幾何 思維)

唉 被秀了。還是太弱,說好的數形結合呢,列個式子出來後就被嚇到了,然後就懵逼了。題意 有一條狗,從原點出發,沿n個向量走,每個向量只走一次,沿著乙個向量 x,y 走時,既可以往 x,y 方向走,也可以往 x,y 方向走。然後問這條狗離原點最遠的距離。如果寫成方程 n個向量分別表示為 x1,y1 x2...