題目
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 使得該公司按照最優策略投放廣告的總收益最小。第一行包含乙個正...