2639-Bone Collector II (01背包之第k優解)

題目鏈接:

http://acm.hdu.edu.cn/showproblem.php?pid=2639

求第k優解的關鍵代碼:

用兩個數組記錄兩種狀態(選擇或不選擇),并且只要記錄前k次。在這兩個數組中都是前k次可能的最優解。所以我們只要把這兩個數組做比較,一直排到k就行了

題目代碼:

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int dp[1005][35],a[35],b[35],val[105],vol[105];
 6 int main()
 7 {
 8     int t,n,v,k,c,d,e;
 9     while(~scanf("%d",&t))
10     {
11         while(t--)
12         {
13             scanf("%d%d%d",&n,&v,&k);
14             for(int i=0;i<n;i++)
15             scanf("%d",&val[i]);
16             for(int i=0;i<n;i++)
17             scanf("%d",&vol[i]);
18             memset(dp,0,sizeof(dp));
19             memset(a,0,sizeof(a));
20             memset(b,0,sizeof(b));
21             for(int i=0;i<n;i++)
22             {
23                 for(int j=v;j>=vol[i];j--)
24                 {
25                     for(int t=1;t<=k;t++)
26                     {
27                         a[t]=dp[j-vol[i]][t]+val[i];
28                         b[t]=dp[j][t];
29                     }
30                     c=d=e=1;
31                     while(e<=k&&(c!=k+1||d!=k+1))
32                     {
33                         if(a[c]>b[d])
34                         dp[j][e]=a[c++];
35                         else
36                         dp[j][e]=b[d++];
37                         if(dp[j][e]!=dp[j][e-1])
38                         e++;
39                     }
40                 }
41             }
42             printf("%d\n",dp[v][k]);
43         }
44     }
45     return 0;
46 }
View Code

?

轉載于:https://www.cnblogs.com/wang-ya-wei/p/5754571.html

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

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

相關文章

html自動按鍵,VBS腳本和HTML DOM自動操作網頁

本來是想通過JS實現對其他頁面的控制&#xff0c;發現跨域無法獲取頁面DOM來操作。接著考慮bat&#xff0c;發現也實現不了&#xff0c;于是想到vbs。vbs還是很強大啊&#xff0c;病毒之類很多都是vbs腳本啊。vbs打開瀏覽器&#xff0c;然后通過dom來操作頁面&#xff0c;可以實…

opencv在同一窗口打印多張圖片

首先&#xff0c;由于cv2處理的圖片是通過ndarray的格式操作的&#xff0c;也就是說通過array的拼接就可以實現圖片的拼接&#xff0c;那么之后就可以通過簡單的imshow將合并的圖片打印從而達到在一個窗口中顯示多張圖片的目的。 import cv2 import numpy as npimg1 cv2.imrea…

dj打碟怎么學_學DJ打碟 - Rane聲卡連接

上一篇內容中&#xff0c;老師講過在學DJ打碟的時候&#xff0c;是離不開對軟件方面的操作&#xff0c;其實每一個學習過程&#xff0c;當你學會之后&#xff0c;在“回頭看”的時候&#xff0c;都會覺得&#xff1a;原來學DJ打碟這么簡單啊&#xff0c;這就是已經學習過的人會…

微信企業號第三方應用開發[一]——創建套件

注&#xff1a;文中綠色部分為摘自微信官方文檔 第三方應用提供給企業的是一個應用&#xff0c;但是應用必須在套件下創建&#xff0c;所以第一步是要創建套件。 注冊成為應用提供商&#xff0c;必須輸入以下信息&#xff1a; 信息項要求及說明企業Logo應用提供商的企業Logo&am…

advanced east_SpriteKit Advanced —如何構建2,5D游戲(第二部分)

advanced eastby Luke Konior盧克科尼爾(Luke Konior) SpriteKit Advanced —如何構建2,5D游戲(第二部分) (SpriteKit Advanced — How to build a 2,5D game (Part II)) 介紹 (Intro) This article shows how to write basic shaders in the SpriteKit. It’s split into two…

html原生上傳,一個基于HTML5及原生JS的文件上傳組件--JohnUploader

運行效果圖一、組件介紹基本特點基于HTML5的FileReader和FormData可以完成多文件選擇&#xff0c;并預覽完成文件的異步上傳原生XHR對象&#xff0c;適配多瀏覽器代碼class JohnUploader{url;fileField;vollay;/**** param url 文件上傳的地址* param fileField 一個"文件…

[20170617]vim中調用sqlplus.txt

[20170617]vim中調用sqlplus.txt --//以前寫過一篇emacs下調用sqlplus的文章,一直想學emacs,受限制自己掌握vim,對學習它沒有興趣,原鏈接如下: --//http://blog.itpub.net/267265/viewspace-1309032/ --//實際上vim也有插件連接數據庫,我覺得不好用,一直沒這樣用. --//今天在整…

centos redis驗證_centos7中安裝、配置、驗證、卸載redis

本文介紹在centos7中安裝、配置、驗證、卸載redis等操作&#xff0c;以及在使用redis中的一些注意事項。一 安裝redis1 創建redis的安裝目錄利用以下命令&#xff0c;切換到/usr/local路徑cd /usr/local鍵入以下命令&#xff0c;新建一個redis目錄&#xff0c;用于放置redis軟件…

實習生解雇_我們解雇了我們的頂尖人才。 我們做出的最佳決定。

實習生解雇by Jonathan Solrzano-Hamilton喬納森索洛薩諾漢密爾頓(JonathanSolrzano-Hamilton) 我們解雇了我們的頂尖人才。 我們做出的最佳決定。 (We fired our top talent. Best decision we ever made.) “You will never be able to understand any of what I’ve create…

微信企業號第三方應用開發[二]——創建應用

在應用套件里添加應用 當你創建完應用套件后&#xff0c;需要在套件配置應用&#xff0c;應用的信息填寫如下。 基本信息&#xff1a; 信息項要求及說明應用Logo應用的Logo&#xff0c;小于2M&#xff0c;640*640&#xff0c;在授權頁會被用于展示。應用名稱應用的名稱&#xf…

es6新增的html標簽,javascript – 如何導入已在html中的標簽中定義的es6模塊?

我可以在我的html文件me.html中定義一個模塊&#xff1a;import Atom from ./atom.js;console.log("definition of getAtom")export default function getAtom(){return new Atom(atom);}console.log("exported getAtom")另見>是否可以將該“匿名”模塊…

jQ效果:簡單的手風琴效果

實現效果如圖所示&#xff1a; html結構&#xff1a; <div class"item_box box10"><div class"item_box_wp"><div class"voice_2"><ul><li class"li1" id"li1"><div class"fold"…

golang 日志分析_容器日志采集利器:Filebeat深度剖析與實踐

在云原生時代和容器化浪潮中&#xff0c;容器的日志采集是一個看起來不起眼卻又無法忽視的重要議題。對于容器日志采集我們常用的工具有filebeat和fluentd&#xff0c;兩者對比各有優劣&#xff0c;相比基于ruby的fluentd&#xff0c;考慮到可定制性&#xff0c;我們一般默認選…

機器學習做自動聊天機器人_建立聊天機器人需要什么? 讓我們找出答案。

機器學習做自動聊天機器人by Vanco Stojkov通過Vanco Stojkov 建立聊天機器人需要什么&#xff1f; 讓我們找出答案。 (What does it take to build a chatbot? Let’s find out.) Without any delay, the image below shows what we are building:沒有任何延遲&#xff0c;下…

UVA 11582 Colossal Fibonacci Numbers!【數學】

大一剛開始接觸ACM就買了《算法競賽入門經典》這本書&#xff0c;當時只能看懂前幾章&#xff0c;而且題目也沒做&#xff0c;粗鄙地以為這本書不適合自己。等到現在快大三了再回過頭來看&#xff0c;發現劉老師還是很棒的&#xff01; 扯遠了。。。 題意&#xff1a;問f[a^b]%…

Codeforces 919D Substring (拓撲圖DP)

手動博客搬家: 本文發表于20180716 10:53:12, 原地址https://blog.csdn.net/suncongbo/article/details/81061500 給定一個\(n\)個點\(m\)條邊的有向圖&#xff08;不一定無環&#xff09;&#xff0c;每個點上有一個小寫字母。要找一條路徑&#xff0c;使得路徑上出現次數最多…

layui自定義查詢條件html頁面,Layui的數據表格+springmvc實現搜索功能的例子_飛雲_前端開發者...

如下所示&#xff1a;主要在前端頁面加&#xff1a;搜索ID&#xff1a;useridcontent搜索在reload:function () {var keyWord$("#keyWord").val();var keyType$("#key_type option:selected").val();table.reload(contenttable,{method:post,where:{keyWor…

mysql+keepalived 雙主熱備高可用

理論介紹&#xff1a;我們通常說的雙機熱備是指兩臺機器都在運行&#xff0c;但并不是兩臺機器都同時在提供服務。當提供服務的一臺出現故障的時候&#xff0c;另外一臺會馬上自動接管并且提供服務&#xff0c;而且切換的時間非常短。MySQL雙主復制&#xff0c;即互為Master-Sl…

java ldap userpassword 解密_Spring Boot中使用LDAP來統一管理用戶信息

LDAP簡介LDAP(輕量級目錄訪問協議&#xff0c;Lightweight Directory Access Protocol)是實現提供被稱為目錄服務的信息服務。目錄服務是一種特殊的數據庫系統&#xff0c;其專門針對讀取&#xff0c;瀏覽和搜索操作進行了特定的優化。目錄一般用來包含描述性的&#xff0c;基于…

第三章之枚舉、注解

2019-01-22內容&#xff1a;枚舉、注解一、自定義一個枚舉類1 public class TestSeason {2 3 public static void main(String[] args) {4 Season spring Season.Spring;5 System.out.println(spring);6 }7 }8 public class Season {9 //將屬性定…