題意:給你n個蛋糕,有長和寬,高度均為1,所有的蛋糕可以切除多餘部分作為目標蛋糕的一層,但是小的不可以要,切除的部分扔掉(太浪費了),每層蛋糕大小要求都一樣,求最大體積
分析:當時犯傻了,按照寬排序,選取乙個寬,然後選擇比這個寬大的長的最小,過了14組資料,後來又遍歷所有資料,n3的演算法超了
第二天想明白了,輸入的時候先把所有的長寬固定(因為有的資料長寬是倒著的),然後按照寬對所有資料排序
從小到大列舉列舉寬,然後把寬大於等於該列舉的長加入陣列,排序,因為寬已經確定了,排序之後選擇乙個長就可以知道比這個長還長的有多少個,把每次查詢的n2演算法優化為n log n,
然後選取最大值並記錄長寬就行了。
1 #include2 #include3 #include4view codeusing
namespace
std;56
struct
pointp[4005];9
10bool
cmp(point a,point b)
1718 unsigned long
long dp[4005
];19
20 unsigned long
long
r;21
inta,b;
2223
intmain()
31 sort(p,p+n,cmp);
32 unsigned long
long ans=0;33
for(int i=0;i)44}
45 cout
46 cout
"48return0;
49 }
2018 3 17 模擬賽 3 俄羅斯方塊
共有以下7種方塊 在下落的過程中,可以讓方塊90 180或270 度旋轉,還可以左右移動,對於每一次方塊落地,我們要求方塊的每一部分都必須與地面 最底面或己落下的方塊上表面 接觸,例如,有乙個寬度為6列的平台,每一列的初始高度 已經占用的方格數 分別為2,1,1,1,0 和 1。編號為5的方塊下落,...
俄羅斯方塊(NOIP模擬賽)(水 模擬)
真是一道神奇的題目233 原題傳送門 迫不得已貼了個題解的鏈結。好吧,這道題就是分情況討論,純模擬,沒有什麼難的。腦洞要大,四面都要考慮,不能漏 include include using namespace std intc,p,ans int l 101 int absq int a,int b...
美國黑客組織劫持俄羅斯和伊朗的思科網路交換機
美國黑客組織到底有多厲害?自上週以來,乙個自稱為jht的美國黑客組織劫持了屬於俄羅斯和伊朗組織的大量思科裝置,並留下一條訊息 不要惹我們的選舉 用美國國旗。伊朗通訊和資訊科技部長表示,這場運動影響到伊朗約數千個網路交換機,儘管其中大部分已經恢復。據報道,該黑客組織針對的是思科智慧型安裝客戶端的漏洞安...