湖南多校對抗賽 A A

2021-07-04 09:32:07 字數 761 閱讀 3834

/*

題意:有一些長方形,面積為1*x或者2*x,現在要算出能把這些

長方形全部包含起來的長方形的大小(2*m),簡單來說就是

給你乙個寬為2的長方形,求出長最小為多少時能把全部長方形

包含起來。

解法:因為大的長方形寬始終為2,而其他長方形寬為1/2。即當寬為2的

長方形直接放入(即長度直接加上對於得長度),而對於所以寬為1的

長方形,相當於把大的長方形分成2邊來裝這些寬為1的長方形,當

兩邊的長度盡可能相等時候,大長方形的長度最短,這是可以轉換成

01揹包問題,因為要盡可能的平均分,所以揹包容量為總容量的一半,

當揹包容量最大時,長度最小。

*/#include#includeusing namespace std;

const int maxn=10005;

int dp[maxn],pack[105];

//dp陣列,存放寬為1的長方形的陣列

int top,n,a,b,t,temp,minpack;

int mymax(int a,int b)

int main()

else//寬為2的直接放入大長方形中,長度累加

}for(int i=0;i=pack[i];j--)//使揹包的一半盡可能大

}minpack+=temp-dp[temp/2];//最後再加上寬為1的長方形最小需要的長度

cout<} return 0;

}

湖南多校對抗賽 D D

include 題意 有3個只包含大寫字母的字串a,b,c。問能不能從 從a,b中分別拿出n 2個字元組成c串。n為a的長度 解法 直接統計26個大寫字母在a,b,c串中出現的個數,當c串中出現字母時,則看a,b串中這個字母出現的 次數之和 a,b這個字母最多為n 2 是否大於c對應 的個數,否則不...

湖南多校對抗賽(csu 1560)

簡單的bfs搜尋題,對每個初始的水滴依次擴充套件,當達到規定步數時跳出。這題還是有坑點的,對於每個初始的水滴,已經訪問過的位置不再訪問,但是對於不同的水滴,別的水滴已經訪問過的,對於當前水滴來說可能還要訪問,才能使擴充套件的範圍最大。include include include include i...

CSU 2136 湖南多校對抗賽 I

submit page summary time limit 1 sec memory limit 128 mb submitted 55 solved 11 wells最近迷上了一款攻城的策略遊戲,點就去就能當大元帥統帥三軍!遊戲介面主要是乙個平面 座標可以為浮點數 然而wells發現這遊戲是個 ...