HLOJ 483 光棍組織

2021-08-20 05:19:26 字數 847 閱讀 9104

題目描述

mm 雖然一輩子只要乙個,但是也得早點解決。於是,n 個光棍們自發組成了乙個光棍組織 (ruffian organization,by wind 亂譯)。現在,光棍們打算分成幾個小組,並且分頭為 找 mm 事

業做貢獻(for example:searching,hunting……by wind 亂譯)。 對於這 n 個光棍的任意乙個組合,都有乙個被稱為「和諧度」的東西,現在,他們想知道, 如何分組

可以使和諧度總和最大。 每個光棍都必須屬於某個分組,可以乙個人一組。

輸入格式

第 1 行為 n,接下來 2^n-1 行,按照 2 進製給出每個分組的和諧度。

(比如接下來第 5 行,也就是總共第六行,2 進製為 00000101,則表示第 1 個人和第 3 個人 這個分組的和諧度,第 31 行則為 1~5 在一起的和諧度)

這道題目是乙個子集dp,每乙個子集可以用乙個n位二進位制數表示。對於任意乙個集合i都是由它的子集任意組合形成的。

我們設f[i

] f[i

]代表狀態為i的最大和諧度。f[

i]=m

axj是

i的子集

f [i

]=ma

xj是i

的子

#include

using

namespace

std;

inline

long

long read()

const

int maxn=18;

int n;

long

long f[1

int main()

HLOJ430 構建雙塔

用一些有固定高度的方塊堆成兩座相同高度的塔,問塔最高高度。雙程序dp f j k 代表一 個塔高度 為j,另 乙個塔高 度為k的 情況是否 存在f j k 代表乙個 塔高度為 j,另一 個塔高度 為k的情 況是否存 在我們可以輕易得出 f j k f j a i k f j k a i f j k ...

HLOJ 559 好朋友的題

有乙個n n矩陣,給出一系列的修改和詢問,修改是這樣的 將 x,y 中的數字加上k,而詢問是這樣的 求 x1,y1 到 x2,y2 這個子矩陣內所有數字的和。輸入資料第一行為乙個正整數n。接下來不知道多少行,每行第乙個數為操作型別,1為修改,2為詢問,3為程式結束。對於每個1,有三個引數x,y,k,...

hloj 168「倒牛奶」解題討論

農民約翰有三個容量分別是a,b,c公升的桶,a,b,c分別是三個從1到20的整數。最初,a和b桶都是空的,而c桶是裝滿牛奶的。有時,約翰把牛奶從乙個桶倒到另乙個桶中,直到被灌桶裝滿或原桶空了。當然每一次灌注都是完全的。由於節約,牛奶不會有丟失。寫乙個程式去幫助約翰找出當a桶是空的時候,c桶中牛奶所剩...