HDU 6475 三分 01揹包 好題

2021-09-23 06:06:42 字數 979 閱讀 7315

題目

9思路:共有n個廣告,一共有2^n個選擇方案。假定確定好選擇方案了。

利潤: ka[x]+b[x]+ka[m]+b[m]+…+ka[r]+b[r]=k(a[x]+a[m]+…+a[r])+(b[x]+b[m]+b[r]);

每一種方案的利潤對於k是乙個一次函式。共有2^n個一次函式。對於確定的k,每個公司會選擇 2 ^n種方案裡面的最大利潤。即2 ^n個 函式取最高值。將這2 ^n個函式畫出來。

(利潤關於k的影象)。將每個k對應的最高點連起來。可以看出是個凹函式。故三分得出答案。k對應這個凹函式的值(就是2 ^n個裡面取最大值 用01揹包完成)。

#include

#include

#include

#include

#define en '\n'

#define m(a,b) memset(a,b,sizeof a)

using

namespace std;

typedef

long

long ll;

const

int n=

500+

5,inf=

0x3f3f3f3f

;int n,m,l,r;

ll a[n]

,b[n]

,w[n]

;ll dp[n]

;ll work

(int k)

intmain()

printf

("%lld\n"

,work

(r));}

}

hdu 4341(分組揹包(好題))

分組揹包問題,由於一條直線上的要按照順序取,如果一條直線上有n個金礦,對於這條直線則有n 1 種決策,而且是互相矛盾的,所以可以將這n個物品重新組合一下,轉化成乙個分組揹包問題,詳見 include include include include include include include in...

hdu 3400 Line belt 三分套三分)

題意 在乙個二維空間中給出兩條線段ab,cd,線段ab,cd上的運動速度分別為p,q。在這兩條線段之外的空間上運動的速度為r。求從a到d的最短時間。思路 ps 在這種求解方法中,中間運用了比較多的除法,導致精度損失,所以再開方前加乙個eps,防止開方後的值比真實值小。include include ...

商業競爭 三分 揹包

個片段需要佔據wi 秒的檔期,在第k 天這個片段給這家公司帶來的淨利潤為k ai bi 之間選擇乙個正整數k 在第k 秒的廣告,所以當檔期不足時,他們也會酌情捨棄一些廣告。商業競爭是殘酷的,對方賺的越多,你賺的就越少。請選擇乙個最合適的k 使得該公司按照最優策略投放廣告的總收益最小。第一行包含乙個正...