題目描述:
有n根棍子,棍子的長度為a,想要從中選出3根棍子組成周長盡可能長的三角形
約束條件:
3<= n <= 100
1 <= ai <= 10^6
法一:暴力求解(做任何題首先想到的方法,因為三重迴圈,所以複雜度為n的3次方,因為n小於100,所以方法可行)(複雜度為nlogn)
#include
#include
#include
using namespace std;
int main()}}
cout<
注:sort降序排列:sort(begin,end,greater())
#include
#include
#include
using namespace std;
int main()
{int i,ans=0,a[105],n;
cin>>n;
for(int i=0;i>a[i];
sort(a,a+n,greater());
for(i=2;i
數字三角形 1
不能傻傻的用普通遞迴 會超時,因為有大量的重複計算。需要改進,每個結果一旦算出來就存起來,下次需要用的時候就直接呼叫。改進成為記憶遞迴型動歸程式 include include using namespcae std define max 101 int d max max int n int ma...
求大三角形中三角形個數
一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...
經典演算法 (三)帕斯卡三角形(楊輝三角形)
楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在1654年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。簡介 楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在165...