ural 1005 Stone Pile
这是道01背包题 ,尽管背包不会 ,可是还是看出来了,递推公式写啊写没写出来,后来一同学说是dfs。这我就開始了A了,
题意是给你n个重量是Wn的石头 让你放到两个包里面。看他们两个差值最小,而且输出这个差值。
dfs代码
#include <stdio.h>
int sum;
int h,T;
int a[100];
void dfs (int x,int y)
{
if(x==T)
{
if(y>h) h=y ;
return ;
}
if(h==sum/2) return ;
if(y+a[x]<=sum/2)//等于号一定要有。这样调了好久好久,由于他们有可能相等。 dfs(x+1,y+a[x]);
dfs(x+1,y);
}
int main()
{
while(scanf("%d",&T)==1)
{
sum=0;h=0;
for(int i=0;i<T;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
// printf("%d\n",sum);
dfs(0,0);
// printf("%d\n",h);
printf("%d\n",sum-2*h);
}
}
dp代码
#include <cstring>
#include <cstdio>
const int maxx = 2000010;
int dp[maxx],a[25],n;
int abs(int x)
{
return (x>0)?x:-x;
}
int maxxx(int a,int b)
{
return (a>b)? a:b;
}
int main()
{
while(scanf("%d",&n)==1)
{
if(n==1)
{
scanf("%d",&a[0]);
printf("%d",a[0]);
continue;
}
int sum = 0,temp,ans;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
sum += a[i];
dp[i] = 0;
}
temp = sum/2;
dp[0] = 0;
for(int i=1;i<=n;i++)
for(int j=temp;j>=a[i];j--)
dp[j] = maxxx(dp[j-a[i]]+a[i],dp[j]);//求在【0-temp】最大的数就好了
for(int i=temp;i>=0;i--)
if(dp[i]!=0)
{
ans = dp[i];
break;
}
printf("%d\n",abs(sum-2*ans));
}
return 0;
}
ural 1005 Stone Pile的更多相关文章
- URAL 1180. Stone Game (博弈 + 规律)
1180. Stone Game Time limit: 1.0 second Memory limit: 64 MB Two Nikifors play a funny game. There is ...
- ural 1180 Stone Game
http://acm.timus.ru/problem.aspx?space=1&num=1180 #include <cstdio> #include <cstring&g ...
- 别人整理的DP大全(转)
动态规划 动态规划 容易: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...
- dp题目列表
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- poj 动态规划题目列表及总结
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- poj动态规划列表
[1]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 13 ...
- POJ 动态规划题目列表
]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322 ...
- poj 动态规划的主题列表和总结
此文转载别人,希望自己可以做完这些题目. 1.POJ动态规划题目列表 easy:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, ...
- 别人整理的dp题目
动态规划 动态规划 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 14 ...
随机推荐
- nodejs安装express
最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了, 书上命令为: 1 express -t ejs microblog 可是执行后 ...
- Cracking the Coding Interview 6.5
There is a building of 100 floors. If an egg drops from the Nth floor or above, it will break. If it ...
- js数据管理的思考
最近要做一个农场项目,涉及到很多js数据管理的需求,这里也做下总结,不断的总结,再修正内容,也是快速进步的方法. 数据管理几个方面考虑: * 设置(更新)字段值 * 检索,根据id, index, 属 ...
- 初学Hibernate杂乱总结
1.如果在"one"方中(如部门)写有Set属性,但是没有在映射文件中配置,那么,在获取指定部门下的所有员工时,不会报错,但是,Set内的元素个数为0.输出为"[]&qu ...
- 【技术累积】【点】【java】【20】static关键字
基础概念 是个修饰符: 修饰变量.常量.方法.代码块: 被修饰的为静态: 方便在没有创建对象的情况下来进行调用(方法/变量): static修饰的成员被所有的对象所共享: static优先于对象存在, ...
- asp.net mvc 学习步骤
入门篇(一) ASP.NET MVC案例教程(基于ASP.NET MVC beta) http://www.cnblogs.com/leoo2sk/archive/2008/10/27/1320285 ...
- (转) Arcgis for js加载百度地图
http://blog.csdn.net/gisshixisheng/article/details/44853709 概述: 在前面的文章里提到了Arcgis for js加载天地图,在本节,继续讲 ...
- pycharm主题 变量颜色 自定义
File--Settings--Edtior--Color Schame-- Lanuage Defaults
- uni-app强大的前端框架,h5,原生app(两大系统),微信小程序
最近发现一款强大的前端框架,它叫uni-app 这是一款通用的框架可以打包app,h5,微信小程序, 说说要弄这个工具需要会那些技能吧, 要熟悉vue,微信小程序.这样这个框架用的就是很快上手了 模块 ...
- Java+selenium+Firefox/ IE/ Chrome主流浏览器自动化环境搭建
一.java+selenium+firefox 1.环境准备:JDK1.8 2.安装firefox浏览器v59 3.下载驱动:https://github.com/mozilla/geckodrive ...