nyoj 325 dfs 搜索平分问题
来源:互联网 发布:网站关键词优化方案 编辑:程序博客网 时间:2024/04/28 17:53
点击打开链接
思路:
这个题我一开始还是用了一个01背包 因为我觉得挺像的,结果有地方没处理好 TLE了
就改用了dfs,也很水其实0.0 我还调了老半天... 每个物品就只有在哪个集合两种状态
对于这个题我们就看成每个人都分总和的一半,去找最大值...
剪枝与否都不会超时:
1.当前的最大值等于一半 剪枝
2.取下一个物品 不导致最大值改变 剪枝.
#include<bits/stdc++.h>using namespace std;const int maxn=1e5+10;typedef long long ll;int w[22],n;int ans=0,aver;void dfs(int x,int s){if(x==n+1){ans=max(ans,s);return ;}if(ans==aver&&s+w[x]>ans)return ;if(s+w[x]<=aver)dfs(x+1,s+w[x]);dfs(x+1,s);return ;}int main(){while(scanf("%d",&n)!=EOF){ans=0;int sum=0;for(int i=1;i<=n;i++){scanf("%d",&w[i]);sum+=w[i];}aver=sum/2;dfs(1,0);printf("%d\n",sum-2*ans);}return 0;}
0 0
- nyoj 325 dfs 搜索平分问题
- NYOJ 325 zb的生日,平分问题(DFS)
- NYOJ 325 zb的生日(搜索解平分问题)
- nyoj 部分和问题(深度优先搜索DFS)
- 邮票分你一半(nyoj 456)(平分问题)(01背包)
- nyoj--20--吝啬的国度(搜索dfs)
- nyoj-325 dfs
- HDU 3765 Celebrity Split(dfs走平分问题--递推)
- nyoj 325 zb的生日 (dfs搜索)(01背包)
- HDU 1016 搜索问题 dfs
- 【搜索-DFS】POJ1321-棋盘问题
- 【搜索-DFS】N皇后问题
- 搜索问题:DFS 与 BFS
- HPUoj1210: OY问题 [搜索](DFS
- PKU ACM 1014 Dividing 平分 (DFS)
- NYOJ 1058 部分和问题 【DFS】
- nyoj 1058 部分和问题 【DFS】
- NYoj-42-一笔画问题-DFS
- [emmc] emmc总线设置
- Android轮播图控件的实现详解(附GitHub开源链接)
- Ehome:智能家居之led控制系统
- 抽象类和接口的使用场景介绍
- WARN No appenders could be found for logger的解决方法
- nyoj 325 dfs 搜索平分问题
- Java下利用Jackson进行JSON解析和序列化
- 微信开发之自定义菜单创建
- leetcode94. Binary Tree Inorder Traversal
- android常见面试题总结
- 23种设计模式全解析
- 【数据结构_顺序表_List_1102】顺序表上数据划分
- Python学习笔记一
- 零拷贝部分内容