摘要:
裸地01背包。。。给出质量限制求最大可获得的价值。。直接贴代码:#includeusing namespace std;int main(){ int n, m; cin>>n>>m; int w[3500]={0}, d[3500]={0}; int f[26000]={0},i,j; for(i=0; i>w[i]>>d[i]; } for(i=0; i=w[i]; j--) { if(f[j-w[i]]+d[i]>f[j]) f[j]=f[j-w[i... 阅读全文
posted @ 2014-03-03 20:27
xtaq
阅读(179)
评论(0)
推荐(0)
摘要:
分析:可以转化为01背包。。解决这个问题需要两个步骤。。(1)留下5元钱去买最贵的菜。(要注意排除 m #includeusing namespace std;int max(int a, int b){ return a>b ? a : b;}int main(){ int n; while(cin>>n && n) { int i, j, m, c[1011], ma=0, f[1011], k; for(i=1; i>c[i]; if(ma>m; if(m=0; j--) ... 阅读全文
posted @ 2014-03-03 20:15
xtaq
阅读(135)
评论(0)
推荐(0)
摘要:
题意:给你n个点的坐标,算出这些坐标可能组成多少个正方形。。分析:由几何知识我们可以推出,当知道一个正方形一条边两个点的坐标时,可以推出剩下两点的坐标。推导过程:公式推导:如图所示,正方形的四个点分别为(x1,y1),(x2,y2),(x3,y3),(x4,y4)假设一开始给出的点为(x1,y1),(x2,y2)且已排序根据全等三角形,可以得知2个蓝色△全等,2个红色△全等(注:此处也可推右边的正方形)所以可以推出x3=x2-(y2-y1); y3=y2+(x2-x1); x4=x1-(y2-y1); y4=y1+(x2-y1);当然全体是排好序。因为... 阅读全文
posted @ 2014-03-03 16:47
xtaq
阅读(223)
评论(0)
推荐(0)

浙公网安备 33010602011771号