2013年3月27日

POJ 2576 Tug of War二维背包恰好装满.

摘要: 像这种恰好装满的情况可以用bool数组,恰好装满为true,否则为false。还有就是逆向推倒,0-1背包,f[i][j]表示有i个人,组成了j的体重,这样的话在考虑某人的情形时,f[i][j]为真的前提就是f[i-1][j-wi]为真,其中wi为这个人的体重View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 bool f[110][2500]; 5 int main() 6 { 7 int n,w[110],sum = 0; 8 scanf("%d\n&q 阅读全文

posted @ 2013-03-27 21:22 allh123 阅读(272) 评论(0) 推荐(0) 编辑

所谓的二维背包Triangular Pastures POJ 1948

摘要: 这题WA了很多遍,要不就是测试数据 3 1 2 3 输出173,要不就是6 5 5 5 5 5 5 输出-1.甚至有时候把程序改的题目上的测试数据都过不了,各种悲摧,其实我喜欢边写程序边想,这是个很差的习惯,我一定要改!!!这题是看别人的提示写出来的,首先设bool型数组f,令 f[i][j]表示一边长为i,另一边长为j的边可以组合出来,然后在所有可以组合出来的情形中找能组合成三角形且面积最大的。f[i][j]能组合出来的条件是对于加入新边li来说是f[i-li][j] 或f[i][j-li]能组合出来,初始条件是f[0][0]能组合出来。因为题目中说了要用掉所有的栏杆,所以我只考虑两条边,剩 阅读全文

posted @ 2013-03-27 20:11 allh123 阅读(128) 评论(0) 推荐(0) 编辑

导航