三角形(求n個三角形能把平面分成多少部分)
兩個三角形不相交時將平面分成3部分,相交時,交點越多分成的部分越多(見下圖);
由上圖看出,新增加的部分數與增加的交點數相同,所以,再畫第3個三角形時,應使每條邊的交點儘量多;
對於每個三角形,因為1條直線最多與三角形的兩條邊相交,所以第3個三角形的每條邊最多與前面2個三角形的各兩條邊相交,共可產生3×(2×2)=12(個)交點,即增加12部分;
因此,3個三角形最多可以把平面分成:1+1+6+12=20(部分);
由上面的分析,當畫第n(n≥2)個三角形時,每條邊最多與前面已畫的(n-1)個三角形的各兩條邊相交,
共可產生交點:3×[(n-l)×2]=6(n-1)(個),能新增加6(n-1)部分,
因為1個三角形時有2部分,所以n個三角形最多將平面分成的部分數是:
2+6×[1+2+…+(n-1)]=2+6×
相關推薦
三角形(求n個三角形能把平面分成多少部分)
平面本身是1部分.一個三角形將平面分成三角形內、外2部分,即增加了1部分,兩個三角形不相交時將平面分成3部分,相交時,交點越多分成的部分越多(見下圖);由上圖看出,新增加的部分數與增加的交點數相同,所以,再畫第3個三角形時,應使每條邊的交點儘量多;對於每個三角形,因為1條直線最多與三角形的兩條邊相交,所以第3
hdu 1249 N個三角形把平面分成幾個區域
查詢的內容:/*每條邊最多與前面已畫的(n—1)個三角形的各兩條邊相交,第n個三角形每條邊最多與2*(n-1)條邊相交。對於每條邊,它所截出的區域(不算第n個三角形的角)有2*(n-1)-1個,於是3條邊可截出6*(n-1)-3個區域,再加上3個角即可多出6*(n-1)個區
用N個三角形最多可以把平面分成幾個區域
遞推公式:a[i]=a[i-1]+6*(i-1); 10000以內的 #include<iostream> using namespace std; long long a[10001]; int main() { a[1]=2; for(int i=2;
n個三角形最多可以構成多少個區域
題目: Problem Description 用N個三角形最多可以把平面分成幾個區域? Input 輸入資料的第一行是一個正整數T(1<=T<=10000),表示測試資料的數量.然後是T組測試資料,每組測試資料只包含一個正整數N(1<=N<=1
[回溯法] 1 求n個元素的集合的冪集
問題 求含n個元素的集合的冪集 【註釋】冪集:所有子集所組成的集合 【舉例】 A={1,2,3} ρ(A) = { {1,2,3}, {1,2}, {1,3}, {1}, {2,3}, {2}, {3}, ∅ } 思路 本問題可以用【分治法】來求解 從另一個角度
分治演算法求n個元素序列中第k個大的元素
首先,我們應該設定產生隨機數的序列儲存在陣列中,然後我們應該最容易想到的是排序對吧,做一個降序排序,就很容易找到第k個大的元素。但是用排序演算法的話,時間複雜度最快的也是快速排序O(logn),如果我們使用分治演算法求得話,會得到一個線性的時間複雜度O(n)。分治演
格雷碼、全排列、約瑟夫環、m個元素中求n個元素的所有集合
格雷碼: 格雷碼是指,通過0-1的串來求出對應位數的所有可能。例如2的格雷碼:00、01、10、11 //格雷碼 例如2:00 01 10 11 void print(vector<int> &veNum) { for (int i = 1; i
求n個實數去掉最大最小值後的平均值
題目描述 有n個實數,實數的範圍在0—100之間,通過average函式求這n個實數去掉最大最小值後的平均值 要求:n及n個實數在主函式中輸入,結果保留2位小數 分析: 本題只需要注意一下型別就好了。 #include"stdio.h" int main() {
演算法導論習題---求n個元素任何排列中逆序對的數量
問題描述: 設A[1…n]是一個包含n個不同數的陣列。如果在i < j的情況下,有A[i] > A[j],則(i,j)就稱為A中的一個逆序對(inversion),(逆序對的元素是下標,而不是數組裡的值)。給出一個演算法,它能用Θ(nlgn)的最壞
HDU6055空間內n個點能組成多少個正方形
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #
求n個骰子各點數和出現的概率-動態規劃
這幾天在看劍指offer的時候發現,求n個骰子個點數和這個問題是發現書中講的不是很清楚,於是查詢資料,覺得下面講的比較透徹,記錄如下: 題目:把n個骰子扔在地上,所有骰子朝上一面的點數之和為S。輸入n,打印出S的所有可能的值出現的概率。 宣告思想非原創!只因動態規劃思
SPOJ1812(字尾自動機求n個串的最長公共子串)
題意:給定n個串,求它們的最長公共子串。 思路就是:先將一個串建SAM,然後用後面的串去匹配,對於每一個串,儲存最大值,對於不同的串,更新最小值。 SAM結點多兩個值,ml表示多個串的最小值,nl表示當前串匹配的最大值。 #include <iostream&
hdu 5852(求n個起點到n個終點的不想交路徑+ 行列式計算)
Intersection is not allowed! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 485
poj 2420 求n個點的費馬點 隨機演算法解決
還是跟那題poj 1379 run away一樣的做法 改一下最優的方法(到n個點的距離之和)就好了 View Code //求n邊形的費馬點//即找到一個點使得這個點到n個點的距離之和最小#in
6-4 求自定型別元素的平均(10 分) 本題要求實現一個函式,求N個集合元素S[]的平均值,其中集合元素的型別為自定義的ElementType。
ElementType Average( ElementType S[], int N ){ ElementType ave,sum=0.0; for(int i=0;i<N;i++) sum+=S[i]; ave=sum/N; return ave;}把
n個點求 能構成多少個三角形
思路:1、先求出n個結點中取出三個結點 有多少種方法 C(n,3)的組合; 2、在找出三個點不能組成三角形的情況;有斜率相等和不存在斜率兩種情況; 完整程式碼如下: #include<ios
把一根木棍折成三段,求這三段能組成一個三角形的概率
測試今天剛遇到的 概率 問題: 一根木棍折成三段,求這三段能組成一個三角形的概率 但答案為 0.25.即下面程式碼裡的 pro #include<stdio.h> #include<stdlib.h> #include<time.h> #include
農田開發 NOJ (已知N個點選取3個求最大三角形面積問題)
E - 農田開發時間限制(普通/Java) : 1000 MS/ 3000 MS 執行記憶體限制 : 65536 KByte總提交 : 83 測試通過 : 43 比賽描述有一塊農田,田地裡安放上N個小
(hdu step 7.1.6)最大三角形(凸包的應用——在n個點中找到3個點,它們所形成的三角形面積最大)
三角形 struct names com 都在 acm sni 都是 tran 題目:最大三角形Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S
在螢幕繪製兩個三角形(平面著色模式和Gouraud著色模式)
該例程有三個檔案:d3dUtility.cpp,colorTriangle.cpp,d3dUtility.h 關於d3dUtility.cpp以及d3dUtility.h兩個檔案裡面內容在部落格:Direct3D初始化例程中有詳細的解釋以及拿來就能用的原始碼 但是在初始化以及繪製普通的三