2015 俄羅斯網路賽 Layer Cake

2022-04-30 13:12:11 字數 857 閱讀 6383

題意:給你n個蛋糕,有長和寬,高度均為1,所有的蛋糕可以切除多餘部分作為目標蛋糕的一層,但是小的不可以要,切除的部分扔掉(太浪費了),每層蛋糕大小要求都一樣,求最大體積

分析:當時犯傻了,按照寬排序,選取乙個寬,然後選擇比這個寬大的長的最小,過了14組資料,後來又遍歷所有資料,n3的演算法超了

第二天想明白了,輸入的時候先把所有的長寬固定(因為有的資料長寬是倒著的),然後按照寬對所有資料排序

從小到大列舉列舉寬,然後把寬大於等於該列舉的長加入陣列,排序,因為寬已經確定了,排序之後選擇乙個長就可以知道比這個長還長的有多少個,把每次查詢的n2演算法優化為n log n,

然後選取最大值並記錄長寬就行了。

1 #include2 #include3 #include4

using

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 }

view code

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的美國黑客組織劫持了屬於俄羅斯和伊朗組織的大量思科裝置,並留下一條訊息 不要惹我們的選舉 用美國國旗。伊朗通訊和資訊科技部長表示,這場運動影響到伊朗約數千個網路交換機,儘管其中大部分已經恢復。據報道,該黑客組織針對的是思科智慧型安裝客戶端的漏洞安...