NYOJ-235 zb的生日 AC 分类: NYOJ 2013-12-30 23:10 183人阅读 评论(0) 收藏
DFS算法:
#include<stdio.h>
#include<math.h>
void find(int k,int w);
int num[23]={0};
int min=20001;
int n,max=0; void find(int k,int w){
int sum=(int)fabs(max-w-w); if(k==n)return;
if(sum<min)min=sum; find(k+1,w+num[k]);
find(k+1,w);
} int main(){
int i;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
scanf("%d",&num[i]);
max+=num[i];
}
find(0,0);
printf("%d\n",min);
max=0;
min=23456;
}
return 0;}
01背包算法:
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
#define swap(x,y){x^=y;y^=x;x^=y;}
#define max(x,y) x>y?x:y int w[25],dp[100010]; int main(){
int i,j,n,m,tat;
while(scanf("%d",&n)!=EOF){
m=0;
tat=0;
memset(dp,0,sizeof(dp));
for(i=1;i<=n;i++){
scanf("%d",&w[i]);
tat+=w[i];
}
m=tat/2;
for(i=1;i<=n;i++){
for(j=m;j>=w[i];j--){
dp[j]=max(dp[j-w[i]]+w[i],dp[j]);
}
}
cout<<tat-2*dp[m]<<endl;
}
return 0;
}
表示通过大神们的支持,才寻觅到正确答案,坑爹的题目,01背包的时间比DFS的时间要短,所以,首选01背包。晚安
NYOJ-235 zb的生日 AC 分类: NYOJ 2013-12-30 23:10 183人阅读 评论(0) 收藏的更多相关文章
- 链表中用标兵结点简化代码 分类: c/c++ 2014-09-29 23:10 475人阅读 评论(0) 收藏
标兵结点(头结点)是在链表中的第一个结点,不存放数据,仅仅是个标记 利用标兵结点可以简化代码.下面实现双向链表中的按值删除元素的函数,分别实现 带标兵结点和不带标兵结点两版本,对比可见标兵结点的好处. ...
- Brush Mode --- Nyoj 737 分类: Brush Mode 2014-03-25 08:10 202人阅读 评论(0) 收藏
石子合并(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆 ...
- short-path problem (Dijkstra) 分类: ACM TYPE 2014-09-01 23:51 111人阅读 评论(0) 收藏
#include <cstdio> #include <iostream> #include <cstring> using namespace std; cons ...
- 认识C++中的临时对象temporary object 分类: C/C++ 2015-05-11 23:20 137人阅读 评论(0) 收藏
C++中临时对象又称无名对象.临时对象主要出现在如下场景. 1.建立一个没有命名的非堆(non-heap)对象,也就是无名对象时,会产生临时对象. Integer inte= Integer(5); ...
- Windows7下QT5开发环境搭建 分类: QT开发 2015-03-09 23:44 65人阅读 评论(0) 收藏
Windows7下QT开法环境常见搭配方法有两种. 第一种是:QT Creator+QT SDK: 第二种是:VS+qt-vs-addin+QT SDK: 以上两种均可,所需文件见QT社区,QT下载地 ...
- short-path problem (Floyd) 分类: ACM TYPE 2014-09-01 23:58 100人阅读 评论(0) 收藏
#include <cstdio> #include <iostream> #include <cstring> using namespace std; cons ...
- Hibernate检索方式 分类: SSH框架 2015-07-10 22:10 4人阅读 评论(0) 收藏
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位.那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hi ...
- 树莓派安装mjpg-streamer视频监控 分类: Raspberry Pi 2015-04-12 23:41 144人阅读 评论(0) 收藏
原来使用Motion在树莓派上跑1280x720分辨率的三颗摄像头.占用内存太严重,关闭诸多功能之后还是不行.故转战mjpg-streamer. 首先安装所需软件 sudo apt-get insta ...
- CABasicAnimation 基本动画 分类: ios技术 2015-07-16 17:10 132人阅读 评论(0) 收藏
几个可以用来实现热门APP应用PATH中menu效果的几个方法 +(CABasicAnimation *)opacityForever_Animation:(float)time //永久闪烁的动画 ...
随机推荐
- 最近的学习的linux命令笔记
vmstat 2 2 mail -s nihao root < test.txt f 323 h 300-310 crontab -l,-e,-r vim /etc/cron ...
- PHP错误处理及异常处理笔记
给新人总结一下PHP的错误处理. PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样,你就可以根据自己的需要,来更改和加强错误输出信息以满足实 ...
- Android体系结构
由图可知,android被分成4个层次,以linux为核心,针对手机进行专门的优化,提供了android操作系统最基本的功能,在此之上又分为android runtime和libraries.其中Da ...
- [转]ORACLE的ProC用法讲解
pro*c是高级的用法,OCI是oracle的基础用法 如何编译.pc文件: proc code=cpp parse=none iname=filename.pc oname=filename.cp ...
- 使用Apriori算法和FP-growth算法进行关联分析
系列文章:<机器学习实战>学习笔记 最近看了<机器学习实战>中的第11章(使用Apriori算法进行关联分析)和第12章(使用FP-growth算法来高效发现频繁项集).正如章 ...
- iOS 开发者能用上的 10 个 Xcode 插件
本文由 伯乐在线 - 邢敏 翻译,黄利民 校稿.未经许可,禁止转载! 英文出处:code.tutsplus.com.欢迎加入翻译小组. 1. XcodeColors:给 Xcode 控制台添加颜色 2 ...
- Android编程: 环境搭建、基本知识
学习的内容两个方面:环境搭建.基本知识 ====环境搭建==== 1.下载 android studio(http://developer.android.com/sdk/index.html) 2. ...
- 24.task的运用
任务就是一段封装在“task-endtask”之间的程序.任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的.调用某个任务时可能需要 ...
- QT 环境下开发socketCan接口程序
使用头文件 #include <QMainWindow>#include "QTimer"#include "QTime"#include &quo ...
- Java Day 07
构造函数 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:给对象初始化值 默认构造函数 如果没有自己定义构造函数,系统会自动生成: 如果定义了,则默认构造函数不会自动生成. 构造函数与一 ...