搜索算法(算法競賽、藍橋杯)--雙向DFS+二分查找

1、B站視頻鏈接:B26 雙向DFS 送禮物_嗶哩嗶哩_bilibili

8e925a28f89e440ab3652feadd545334.png

7dd81aa97d714c1e92cc6d434347fc28.png

#include <bits/stdc++.h> 
using namespace std;
int n,m;
int g[46];//存儲所有物品的質量
int w[1<<23];//存儲所有能湊出來的重量
int ans,cnt;//w的個數是cnt//搜索第u個數,和為s;
void dfs1(int u,int s){if(u==n/2){//邊界 w[cnt++]=s;return;}dfs1(u+1,s);//不選g[u]if(g[u]+s<=m)dfs1(u+1,s+g[u]);//選 
} 
void dfs2(int u,int s){if(u==n){ans=max(ans,*(upper_bound(w,w+cnt,m-s)-1)+s);return;}dfs2(u+1,s);//不選g[u] if(g[u]+s<=m)dfs2(u+1,s=g[u]);//選 
}
int main(){cin>>m>>n;for(int i=0;i<n;i++)cin>>g[i];sort(g,g+n);reverse(g,g+n);//優化搜索順序dfs1(0,0);//搜索前一半n/2sort(w,w+cnt);cnt=unique(w,w+cnt)-w;//去重dfs2(n/2,0);//搜索后一半(n/2,n); cout<<ans;return 0;
} 

?

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

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

相關文章

Geeker Admin添加若以分離版本的后臺作為后臺

添加驗證碼 下載若依賴前后端分離版本&#xff0c;配置好自己數據庫&#xff0c;redis連接地址 登錄添加驗證碼 配置自己的若依后端連接地址 添加驗證碼請求方法 登錄頁面登錄輸入框添加驗證碼&#xff0c;uuid,調用的驗證碼刷新方法 注意&#xff1a;這里要用響應式定義驗證…

5_怎么看原理圖之協議類接口之NAND Flash筆記

NAND Flash原理圖&#xff1a; 由NAND Flash的原理圖可以看出&#xff0c;做為一個存儲芯片&#xff0c;只有I/O引腳&#xff0c;并沒有地址引腳&#xff0c;怎么傳地址&#xff1f;遵循一定的規范&#xff0c;先通過LDATA把地址傳出去&#xff0c;再傳數據。具體的需要查看芯片…

vue前端數據轉換顯示

<el-table-column label"項目模板名稱" align"center" prop"tempName" width"180" :formatter"templFormat" /> :formatter"templFormat" // 模板名單 optionTempls: [], // datas value templFormat(row,…

HTTP Cookie 你了解多少?

Cookie是什么&#xff1f; 先給大家舉個例子&#xff0c;F12 打開瀏覽器的頁面之后&#xff0c;我們能在 Response Headers 的字段里面看到一個header 叫做 Set-Cookie&#xff0c;如下所示 圖中包含的 Set-Cookie 為 Set-Cookie:uuid_tt_dd10_20293537580-1709432565344-232…

Transformer模型分布式并行通信量淺析

1.數據并行DP&#xff08;樸素數據并行&#xff0c;Zero數據并行之后補充&#xff09; O ( h 2 ? l ) O(h^2*l) O(h2?l) 每臺機器做完自己的梯度后需要做一次All reduce操作來累積梯度&#xff0c;故一個batch計算發送的數據量為每層梯度大小 h 2 h^2 h2乘以層數 l l l 優點…

【李沐論文精讀】Resnet精讀

論文地址&#xff1a;Deep Residual Learning for Image Recognition 參考&#xff1a;撐起計算機視覺半邊天的ResNet【論文精讀】、ResNet論文逐段精讀【論文精讀】、【李沐論文精讀系列】 一、導論 深度神經網絡的優點&#xff1a;可以加很多層把網絡變得特別深&#xff0c;…

力扣周賽387

第一題 代碼 package Competition.The387Competitioin;public class Demo1 {public static void main(String[] args) {}public int[] resultArray(int[] nums) {int ans[]new int[nums.length];int arr1[]new int[nums.length];int arr2[]new int[nums.length];if(nums.leng…

Linux系統Docker部署RStudio Server

文章目錄 前言1. 安裝RStudio Server2. 本地訪問3. Linux 安裝cpolar4. 配置RStudio server公網訪問地址5. 公網遠程訪問RStudio6. 固定RStudio公網地址 前言 RStudio Server 使你能夠在 Linux 服務器上運行你所熟悉和喜愛的 RStudio IDE&#xff0c;并通過 Web 瀏覽器進行訪問…

第二十四章 :Docker 部署 SpringBoot

第二十四章 :Docker SpringBoot 配置文件容器外加載部署 Docker version 25.0.3, build 4debf41 ,Docker Compose version v2.24.2容器運行后,若需修改配置文件,只需修改宿主機的application-prod.yml ,重啟容器即可。 Springboot 2.x 版本 部署規劃 服務器IP192.168.92…

4. 編寫app組件

1. 代碼 main.ts // 引入createApp用于創建應用 import {createApp} from "vue"// 引入App根組件 import App from ./App.vue createApp(App).mount(#app) App.vue <!-- vue文件可以寫三種標簽1. template標簽&#xff0c;寫html結構2. script 腳本標簽&…

判斷docker 鏡像啟動成功 shell腳本

要編寫一個Shell腳本來判斷Docker鏡像是否啟動成功&#xff0c;你可以使用docker ps命令來檢查容器是否在運行狀態。以下是一個簡單的Shell腳本示例&#xff0c;用于判斷Docker鏡像是否成功啟動&#xff1a; #!/bin/bash# 指定要檢查的容器名稱或ID CONTAINER_NAME"your_c…

風險評估是什么意思?與等保測評有什么區別?

最近看到不少小伙伴在問&#xff0c;風險評估是什么意思&#xff1f;與等保測評有什么區別&#xff1f;這里我們就來簡單聊聊。 風險評估是什么意思&#xff1f; 風險評估是指對某個特定領域或項目進行全面分析和評估&#xff0c;以確定可能存在的潛在風險和危害&#xff0c;并…

2023全球軟件開發大會-上海站:探索技術前沿,共筑未來軟件生態(附大會核心PPT下載)

隨著信息技術的迅猛發展&#xff0c;全球軟件開發大會&#xff08;QCon&#xff09;已成為軟件行業最具影響力的年度盛會之一。2023年&#xff0c;QCon再次來到上海&#xff0c;匯聚了眾多業界精英、技術領袖和開發者&#xff0c;共同探討軟件開發的最新趨勢和實踐。 一、大會…

服務器感染了.ma1x0勒索病毒,如何確保數據文件完整恢復?

引言&#xff1a; 網絡安全成為至關重要的議題。.ma1x0勒索病毒是當前網絡威脅中的一種惡意軟件&#xff0c;它的出現給用戶帶來了極大的困擾。然而&#xff0c;正如任何挑戰一樣&#xff0c;我們也有方法來面對并克服.ma1x0勒索病毒。本文將全面介紹這種病毒的特點&#xff0…

MB85RC鐵電 FRAM驅動(全志平臺linux)

測試幾天發現一個bug&#xff0c;就是無法一次讀取32個字節的數據&#xff0c;1-31,33,128,512都試過了&#xff0c;唯獨無法讀取32個字節&#xff0c;驅動未報錯&#xff0c;但是讀取的都是0&#xff0c;找不到原因&#xff0c;估計應該是全志iic驅動的問題&#xff0c;暫時沒…

leetcode - 2095. Delete the Middle Node of a Linked List

Description You are given the head of a linked list. Delete the middle node, and return the head of the modified linked list. The middle node of a linked list of size n is the ?n / 2?th node from the start using 0-based indexing, where ?x? denotes th…

python中的類與對象(3)

目錄 一. 類的多繼承 二. 類的封裝 三. 類的多態 四. 類與對象綜合練習&#xff1a;校園管理系統 一. 類的多繼承 在&#xff08;2&#xff09;第四節中我們介紹了什么是類的繼承&#xff0c;在子類的括號里面寫入要繼承的父類名。上一節我們只在括號內寫了一個父類名&…

新手淘寶開店如何引流

對于新手淘寶賣家來說&#xff0c;引流是開店過程中最為關鍵的一環。如何吸引潛在客戶進入店鋪&#xff0c;提高商品的曝光率和銷量&#xff0c;是每個新手賣家都面臨的挑戰。本文將為你提供新手淘寶開店的引流攻略&#xff0c;幫助你從零開始掌握實用的引流技巧。 一、優化店…

C++的類型轉換

1.C語言中的類型轉換 在C語言中&#xff0c;如果賦值運算符左右兩側類型不同&#xff0c;或者形參與實參類型不匹配&#xff0c;或者返回值類型與接收返回值類型不一致時&#xff0c;就需要發生類型轉化&#xff0c;C語言中總共有兩種形式的類型轉換&#xff1a;隱式類型轉換和…

【機器人最短路徑規劃問題(柵格地圖)】基于模擬退火算法求解

代碼獲取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主獲取 基于模擬退火算法求解機器人最短路徑規劃問題&#xff08;柵格地圖&#xff09;的仿真結果 仿真結果&#xff1a; 初始解的路徑規劃圖 收斂曲線&#xff1a; 模擬退火算法求解的路徑規劃圖 結論&#xff…