PACKING【二維01背包】

PACKING
時間限制: 1 Sec 內存限制: 128 MB
提交: 278 解決: 24
[提交] [狀態] [命題人:admin]
題目描述
It was bound to happen. Modernisation has reached the North Pole. Faced with escalating costs for feeding Santa Claus and the reindeer, and serious difficulties with security, NP Management has decided to do away with the traditional sleigh and adopt delivery by drone (magic, superfast drone).
Lack of investment capital means that the new system will start small, and hopefully grow in the years to come. For the first test run in 2017 there will be only two drones and they will have limited carrying capacity. PR is, of course, all important. There will be disappointment, and NP Management has decided to focus on delivering only the most expensive toys to the richest children, so as to focus the worst of the disappointment on those who have the greatest experience of coping (the poor).
Choosing the presents to deliver is your problem. You are being asked to develop an algorithm to select the cargo to deliver, given weight limits for each of the drones and a list of candidate presents with weights and values. Your goal is to maximise the value of gifts delivered.

輸入
Input will consist of a series of problems. The first line of the input holds a single integer P being the number of problems. Then for each problem there will be three lines of input. The first line holds three integers: N (1 <= N <= 100) being the number of candidate presents; W1 and W2 (1 <= W1, W2 <= 1000) being the weight limits of the two drones respectively. The second line holds N integers (1 <= wi <= 100) being the weights of each of the candidate presents and the third line holds N integers (1 <= vi <= 100) being the values of the presents (in thousand dollar units). All lines are formatted with single spaces between numbers and no leading or trailing spaces.

輸出
For each problem your program should output one line with the text “Problem “ and the number of the problem (counting from 1) followed by a colon, a space and the total value of presents shipped by the drone pair.

樣例輸入
復制樣例數據
2
4 9 4
3 4 5 6
5 7 9 10
6 9 11
3 4 5 6 3 4
2 3 4 5 3 3
樣例輸出
Problem 1: 22
Problem 2: 16

題目大意:
先輸入一個數字TTT,代表有TTT組測試數據,對于每組測試樣例,第一行輸入三個整數n,w1,w2n,w1,w2n,w1,w2,分別代表有nnn件物品,兩個無人機的載重量分別為w1,w2w1,w2w1,w2,然后第二行輸入nnn個整數,代表nnn件物品的各自的重量,第三行輸入nnn個整數,代表nnn件物品的價值,問這兩個無人機最多能帶多大價值的物品。

解題思路:
直接使用二維背包即可,dp[i][j]dp[i][j]dp[i][j]代表第一個背包載重為iii第二個背包載重為jjj時的最大價值,但直接寫會T掉,所以需要加一句O3優化,就是加一句頭文件,博主也不懂為什么。。。。,反正這樣就能過,學到了學到了。

代碼:

#pragma GCC optimize(3,"Ofast","inline")
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <bitset>
#include <set>
#include <utility>
#include <sstream>
#include <iomanip>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define inf 0x3f3f3f3f
#define rep(i,l,r) for(int i=l;i<=r;i++)
#define lep(i,l,r) for(int i=l;i>=r;i--)
#define ms(arr) memset(arr,0,sizeof(arr))
//priority_queue<int,vector<int> ,greater<int> >q;
const int maxn = (int)1e5 + 5;
const ll mod = 1e9+7;
int dp[2100][2100];
int wi[120],vi[120];
int main() 
{#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endif//freopen("out.txt", "w", stdout);ios::sync_with_stdio(0),cin.tie(0);int T;cin>>T;rep(t,1,T) {ms(dp);int n,w1,w2;cin>>n>>w1>>w2;rep(i,1,n) cin>>vi[i];rep(i,1,n) cin>>wi[i];rep(i,1,n) {for(int j=w1;j>=0;j--) {for(int k=w2;k>=0;k--) {if(j>=vi[i]) {dp[j][k]=max(dp[j][k],dp[j-vi[i]][k]+wi[i]);}if(k>=vi[i]) {dp[j][k]=max(dp[j][k],dp[j][k-vi[i]]+wi[i]);}}}}cout<<"Problem "<<t<<": "<<dp[w1][w2]<<endl;}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536262.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536262.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536262.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器人軍團【動態規劃】

機器人軍團 時間限制: 1 Sec 內存限制: 64 MB 提交: 279 解決: 139 [提交] [狀態] [命題人:admin] 題目描述 邪狼&#xff1a;“怎么感覺這些機器人比我還聰明&#xff1f;不是說人工智能永遠不能超越人類嗎&#xff1f;” 天頂星人&#xff1a;“你們真是目光短淺&#xff0c…

【動態規劃】抄近路

【動態規劃】抄近路 時間限制: 1 Sec 內存限制: 64 MB 提交: 105 解決: 68 [提交] [狀態] [命題人:admin] 題目描述 “最近不知道怎么回事&#xff0c;感覺我們這個城市變成了一個神奇的地方&#xff0c;有時在路上走著走著人就消失了&#xff01;走著走著突然又有人出現了&…

【動態規劃】魔法石礦

【動態規劃】魔法石礦 時間限制: 1 Sec 內存限制: 64 MB 提交: 116 解決: 27 [提交] [狀態] [命題人:admin] 題目描述 為了找到回家的路&#xff0c;張琪曼施展魔法&#xff0c;從高維空間召喚出了一種叫作“讀者”的生物&#xff0c;據說“讀者”這種生物無所不能&#xff0c;…

Knapsack Cryptosystem【折半+查找】

鏈接&#xff1a;https://ac.nowcoder.com/acm/contest/889/D 來源&#xff1a;牛客網 Amy asks Mr. B problem D. Please help Mr. B to solve the following problem. Amy wants to crack Merkle–Hellman knapsack cryptosystem. Please help it. Given an array {ai} wi…

All men are brothers【并查集+數學】

鏈接&#xff1a;https://ac.nowcoder.com/acm/contest/889/E 來源&#xff1a;牛客網 題目描述 Amy asks Mr. B problem E. Please help Mr. B to solve the following problem. There are n people, who don’t know each other at the beginning. There are m turns. In e…

Light bulbs【差分】

19.98% 1000ms 8192K There are NN light bulbs indexed from 00 to N-1N?1. Initially, all of them are off. A FLIP operation switches the state of a contiguous subset of bulbs. FLIP(L, R)FLIP(L,R)means to flip all bulbs xx such that L \leq x \leq RL≤x≤R. S…

Digit sum【暴力+打表】

Digit sum 33.57% 2000ms 131072K A digit sum S_b(n)S b ? (n) is a sum of the base-bb digits of nn. Such as S_{10}(233) 2 3 3 8S 10 ? (233)2338, S_{2}(8)1 0 0 1S 2 ? (8)1001, S_{2}(7)1 1 1 3S 2 ? (7)1113. Given NN and bb, you need to calcu…

P1040 加分二叉樹【dp+深搜】

題目描述 設一個nn個節點的二叉樹tree的中序遍歷為&#xff08;1,2,3,…,n1,2,3,…,n&#xff09;&#xff0c;其中數字1,2,3,…,n1,2,3,…,n為節點編號。每個節點都有一個分數&#xff08;均為正整數&#xff09;&#xff0c;記第ii個節點的分數為di,treedi,tree及它的每個子樹…

Helloworld【C#】

c#Helloworld 題目描述 請輸出樣例所示內容 輸出 樣例輸出 ********** Hello,world! ********** using System;namespace ConsoleApp1 {class Program{static void Main(string[] args){Console.WriteLine("**********");Console.WriteLine("Hello,world!&…

判斷閏年【C#】

判斷閏年 題目描述 使用C#編寫一個控制臺應用。輸入-一個年份&#xff0c;判斷是否潤年(被4整除&#xff0c;且不被100整除&#xff0c;或者被400整除)。 是閏年輸出yes&#xff0c;不是輸出no 輸入 一個年份 輸出 yes或者no 樣例輸入 1996 樣例輸出 yes using Syst…

采用遞歸求第n位數【C#】

題目描述 一數列的規則如下&#xff1a;1、1、2、3、5、8、13、21、34......。求第n位數是多少&#xff1f; 輸入 輸入一個正整數&#xff0c;代表求第幾位數字 輸出 輸出第n位數字 樣例輸入 30 樣例輸出 832040 提示 輸入數字必須大于零 using System;namespace C…

歌手的分數【C#】

歌手的分數 題目描述 一青年歌手參加比賽。使用C#編寫-一個控制臺應用&#xff0c;輸入10位評委打分(分值只能為正整數)&#xff0c;計算并輸出歌手的平均分(去掉一一個最高分和一一個最低分)。平均分以double數據類型輸出。 輸入 1 2 3 4 5 6 7 8 9 10 輸出 5.5 樣例輸…

冒泡排序算法(C#)

冒泡排序算法&#xff08;C#&#xff09; 題目描述 使用C#編寫一個控制臺應用。輸入10個整數存入數組中&#xff0c;然后使用冒泡排序算法對一維數組的元素從小到大進行排序&#xff0c;并輸出。 輸入 在控制臺中輸入數字&#xff0c;存入一維數組 輸出 輸出排序后的數…

水仙花數【C#】

題目描述 春天是鮮花的季節&#xff0c;水仙花就是其中最迷人的代表&#xff0c;數學上有個水仙花數&#xff0c;他是這樣定義的&#xff1a; “水仙花數”是指一個三位數&#xff0c;它的各位數字的立方和等于其本身&#xff0c;比如&#xff1a;1531^35^33^3。 現在要求輸出…

C#異或運算符的使用【C#】

C#異或運算符的使用 題目描述 編寫一個控制臺應用&#xff0c;采用異或運算符&#xff0c;實現兩個整型變量值的交換。并在Program類的Main進行驗證。 輸入 依次輸入2個整數 輸出 輸出交換前、后兩個變量的值 樣例輸入 12 78樣例輸出 before exchange first12,second7…

C#類方法【C#】

C#類方法 題目描述 在類Class1中&#xff0c;編寫一個類方法IsEven(string number)用于輸出參數的奇偶性。并在Program類的Main進行驗證性輸出。 class Program { static void Main(string[] args) { Console.Write("Input Integer:&quo…

C#中的Switch語句【C#】

C#中的Switch語句 題目描述 編寫一個控制臺應用&#xff0c;實現以下功能&#xff1a;根據輸入的字符&#xff0c;輸出通過、不通過和輸入成績無效。 &#xff08;1&#xff09;無論輸入A、B、C、D&#xff0c;都輸出通過&#xff1b; &#xff08;2&#xff09;輸入E&#x…

c#輸出最大值、最小值和平均值(A)【C#】

c#輸出最大值、最小值和平均值(A) 題目描述 使用C#編寫一個控制臺應用。輸入10個正整數存入數組中&#xff0c;輸出最大值、最小值和平均值 輸入 輸入10個正整數 輸出 最大值、最小值和平均值 樣例輸入 1 2 3 4 5 6 7 8 9 10 樣例輸出 10 1 5.5 using System;namesp…

c#輸出最大值、最小值和平均值(B)【C#】

c#輸出最大值、最小值和平均值&#xff08;B&#xff09; 題目描述 使用C#編寫一個控制臺應用。輸入若干個正整數存入數組中&#xff08;輸入exit表示輸入結束&#xff09;&#xff0c;輸出最大值、最小值和平均值輸入 輸入若干個正整數存入數組中輸出 輸出最大值、最小值和平…

C#提取文件名【C#】

C#提取文件名 題目描述 假設有一個字符串包含了文件名、擴展名和路徑&#xff0c;如strFileName“D:\C#程序設計\實驗3\MyFile.TXT”。請使用C#編寫一個靜態方法&#xff0c;該方法能夠取出路徑中的文件名“MyFile.TXT”。 輸入 一個包含了文件名&#xff0c;擴展名和路徑的…