原題:zjnu 1192
題意:
買了一種披薩後會得到其他披薩的優惠券,問怎麼賣能使單位面積的披薩**最小(買乙個兩個隨意)
解析:
如果dp題做成了順序題,就很難繞出來了
正確做法應該是列舉狀態,由之前的狀態轉移而來。但是如果在想誰先誰後買,就是走歪路了
dp[i]表示狀態為i時最小花費,eg:5個披薩i==29(11101)表示買了1、3、4、5種披薩的狀態,狀態轉移方程為dp[i]=min(dp[i],dp[i-(1<<(j-1))]+w) (w為此時買第j個披薩所需要的花費)
**:
#include
#include
#include
#include
#include
using
namespace
std;
double ans;
int n,k;
double p[20],s[20];
double c[20][20];
double dp[1
<<16],siz[1
<<16];
int main()
}dp[0]=0;
for(int i=1;i<(1
dp[i]=min(dp[i-(1
<<(j-1))]+w,dp[i]);
siz[i]=siz[i-(1
<<(j-1))]+s[j];
}//printf("dp[%d] is %.1lf,size is %.1f\n",i,dp[i],siz[i]);
ans=min(ans,dp[i]/siz[i]);
}printf("%.4lf\n",ans);
}}
杭電ACM 天上掉餡餅(DP)
注意點 time 1 活動範圍為4 6 time 2 3 7 time 3 2 8 time 4 1 9 time 5 0 10 全範圍 突破口 狀態 dp i,j 在i秒,j位置能獲得的最大餅數 狀態轉移方程 dp i,j max dp i 1,j dp i 1,j 1 dp i 1,j 1 此題...
免費餡餅(天上掉餡餅)
都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。但由於小徑兩側都不能站人,所以他只能在小徑上接...
動態規劃 天上掉餡餅
時間限制 1 sec 記憶體限制 64 mb 提交 32 解決 22 提交 狀態 討論版 命題人 題目描述 眾學生一臉不信 老師你不是又在騙我吧,天上怎麼會掉餡餅呢?墨老師滿頭大汗 我這次說得絕對是真的,其實只要你們信,天上也是會掉餡餅的。如圖所示,假設在接下來的一段時間裡,所有的餡餅都掉落在0 1...