日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

双塔

發布時間:2023/12/18 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 双塔 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

## 雙塔

題目描述

有n個數字,要求將這n個數字分成兩部分(兩部分可以數字個數不同),使得兩部分數字之和的差最小

輸入輸出格式

輸入:

第一行為n

第二行有n個數,即題目中所描述那樣

輸出:

兩部分和的最小差

樣例

輸入:

5
1 3 2 3 5

輸出:

0

數據范圍

40%滿足\(n<=20\)

100%滿足\(n<=100\),數字之和\(<=1000\)

樣例解釋

(1+3+3)-(2+5)=0


對于40分做法,我們可以考慮二進制枚舉/搜索(哪都有你),
時間復雜度為O(2^N)

枚舉出各部分數字的組成,然后再暴力求和保留最優值。

其實,我們不難發現,對于一組固定的樣例,所有數字的和總是固定的。

然后將數字的和作為容量,跑一個01背包
背包里儲存的是能否組成這個數字

然后再將所有數的和折中尋找。
找到第一個可以組成的數就是答案

轉載于:https://www.cnblogs.com/Lance1ot/p/8495923.html

總結

以上是生活随笔為你收集整理的双塔的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。