演算法提高 01揹包
時間限制:1.0s 記憶體限制:256.0mb
問題描述
給定n個物品,每個物品有乙個重量w和乙個價值v.你有乙個能裝m重量的揹包.問怎麼裝使得所裝價值最大.每個物品只有乙個.
輸入格式
輸入的第一行包含兩個整數n, m,分別表示物品的個數和揹包能裝重量。
以後n行每行兩個數wi和vi,表示物品的重量和價值
輸出格式
輸出1行,包含乙個整數,表示最大價值。
樣例輸入
3 52 3
3 54 7
樣例輸出
資料規模和約定
1<=n<=200,m<=5000.
分析:設
初始條件:
#include int max(int a, int b)
int main()
, v[205] = ;
int f[205][5005] = ;
scanf("%d %d", &n, &m);
for (int i = 1; i <= n; ++i)
scanf("%d %d", &w[i], &v[i]);
for (int i = 1; i <= n; ++i)
printf("%d", f[n][m]);
return 0;
}
藍橋杯 ADV 131演算法提高 選擇排序
問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 i k 為這個新順序。選擇排序的思想極其簡單,每一步都把乙個最小元素放到前面,如果有多個相等的最小元素,選擇排位較考前的放到當前頭部。還...
藍橋杯 ADV 20 演算法提高 交換Easy
問題描述 給定n個整數組成的序列,每次交換當前第x個與第y個整數,要求輸出最終的序列。輸入格式 第一行為序列的大小n 1 n 1000 和操作個數m 1 m 1000 第二行包含n個數字,表示初始序列。接下來m行,每行兩個整數x,y 1 x,y n 表示要交換的兩個整數。在一次交換中,如果x和y相等...
藍橋杯 ADV 208 演算法提高 矩陣相乘
問題描述 小明最近在為線性代數而頭疼,線性代數確實很抽象 也很無聊 可惜他的老師正在講這矩陣乘法這一段內容。當然,小明上課打瞌睡也沒問題,但線性代數的習題可是很可怕的。小明希望你來幫他完成這個任務。現在給你乙個ai行aj列的矩陣和乙個bi行bj列的矩陣,要你求出他們相乘的積 當然也是矩陣 輸入資料保...