ZZULI 1788: 小金刚的宝藏
来源:互联网 发布:windows多线程同步 编辑:程序博客网 时间:2024/04/29 03:24
题目地址:点击打开链接
思路:价值和的一半为一个背包,往里面放东西就行了,刚开始输出搞错了,结果用搜索做超时了
AC代码:
#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <queue>#include <stack>#include <map>#include <cstring>#include <climits>#include <cmath>#include <cctype>typedef long long ll;using namespace std;int value[110];int dp[100010];int main(){ int t,n; int i,j,sum; scanf("%d",&t); while(t--) { memset(dp,0,sizeof(dp)); sum = 0; scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&value[i]); sum += value[i]; } int m = sum / 2; for(i=0; i<n; i++) { for(j=m; j>=value[i]; j--) { dp[j] = max(dp[j],dp[j-value[i]] + value[i]); } } printf("%d\n",abs(sum-2*dp[m])); } return 0;}
超时代码:
#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <queue>#include <stack>#include <map>#include <cstring>#include <climits>#include <cmath>#include <cctype>typedef long long ll;using namespace std;int m,n,sum;int value[110];int visit[110];int flag;void dfs(int st,int sum1){ int i; for(i=st; i<n; i++) { if(!visit[i]) { if(sum1 + value[i] < m) { visit[i] = 1; dfs(i+1,sum1+value[i]); visit[i] = 0; } if(sum1 + value[i] >= m) { if(abs(sum-2*(sum1+value[i])) < flag) flag = abs(sum-2*(sum1+value[i])); while(value[i] == value[i+1]) i++; } } }}int main(){ int t; int i; scanf("%d",&t); while(t--) { memset(visit,0,sizeof(visit)); sum = 0; scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&value[i]); sum += value[i]; } m = sum / 2; flag = 10000000; dfs(0,0); printf("%d\n",flag); } return 0;}
0 0
- ZZULI 1788: 小金刚的宝藏
- zzulioj 1788: 小金刚的宝藏 (01背包)
- ZZULIOJ 1788 小金刚的宝藏 (01背包)
- zzuli 1907 小火山的宝藏收益
- 找宝藏zzuli-1918
- Zzuli OJ-----1907小火山的宝藏收益
- zzuli 1907: 小火山的宝藏收益(邻接表加dfs)
- 【zzuli-oj】-1907-小火山的宝藏收益(树,STL,思维)
- zzuli OJ-1107 小火山的宝藏收藏(dfs+邻接表)
- 小火山 zzuli 1907 (宝藏)
- 小金的询问
- 小金金的博客起航
- zzuli 1918 (宝藏 + 最大二分匹配 匈牙利算法)
- 艾伦的宝藏
- 亟待开发的宝藏
- 儿子眼中的宝藏
- 陆历川的宝藏
- 加勒比海盗的宝藏
- 1005. Spell It Right (20)
- 关于虚方法virtual和抽象方法以及多态的研究
- RF测试设备
- 爬爬爬之路:UI(九) UITableView(一) MVC模式M层的应用
- Python抓取糗事百科网页信息以及源码下载
- ZZULI 1788: 小金刚的宝藏
- android5.0+(Toolbar)
- android studio 启动后activity_main.xml的design下报错rendering problems can't resolve resource……
- 1006. Sign In and Sign Out (25)
- Java面试宝典-变量声明和定义
- Android 5.0+(RecycleView、CardView、Palette)
- shell 函数参数为数组传递
- Deep Learning(深度学习)学习笔记整理系列之(一)
- get与post区别详解,session与cookie区别,转发和重定向区别,如何实现session共享,webservice与httpservice区别