題目:hdu1171
題意:有n個物品,每個物品有它的重量和它的數目。求怎麼盡可能把它們分成兩部分。
解答:寫出其母函式,然後模擬(也可以用完全揹包)
#include#include#include#include#includeusing namespace std;
const int maxn = 250005;
int c1[maxn],c2[maxn];
struct event
;event event[maxn];
int main()
memset(c1,0,sizeof(c1));
for(int i = 0;i <= event[1].m;i++)
c1[i*event[1].v] = 1;
int m = event[1].v * event[1].m;
memset(c2,0,sizeof(c2));
for(int i = 2;i <= n;i++)
}int t = sum;
sum = sum/2;
int a,b;
for(int i = sum;i>=0;i--)
if(c1[i])
for(int i = sum;i<=250000;i++)
if(c1[i])
int ans;
double tmp = (double)t / 2;
if(tmp - a < b - tmp)
ans = a;
else
ans = b;
int temp = max(ans,t - ans);
printf("%d %d\n",temp,t - temp);
}return 0;
}
母函式入門2
c 母函式入門2 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 話說上回講到hdu大戰東洋小苟,結果自然是中方大勝,這一戰也使得海東集團在全球同行業中的地位更加鞏固。隨...
母函式初期簡單入門題練習
母函式,關鍵是理解多項式和問題的聯絡,構造合適的多項式。1.hdu1557 題意 給n個數,如果其中有m個數之和大於這n個數一半,則這m個數組成這個團體叫 獲勝聯盟 這m個數中,若有乙個數,去掉它,這個團體就不能成為獲勝聯盟了,那麼這個數為關鍵加入者。每成為一次關鍵加入者,則這個數的權利加1,求所有...
生成函式 母函式
根據定義,這個序列作為函式的係數,稱g x 就是序列的母函式。和一般意義上的函式相比,母函式的功能是計數。有這樣一道例題 到這一章為止,已知的計數法則就兩種,加法法則 或 和乘法法則 且 前者是分類思想,後者是分步。法1 分步來看,第乙個骰子有1 5種可能,因為兩個骰子之和是6,所以一旦第乙個骰子確...