折半搜索 poj3977
来源:互联网 发布:mac上word文档丢失 编辑:程序博客网 时间:2024/05/06 15:20
// B subset#include<iostream>#include<algorithm>#include<cmath>#include<cstring>#include<string.h>#include<map>using namespace std;#define ll long long #define MAX 1000000000000020ll ll__absolute(ll x){if (x < 0)return -x;return x;}int main(){int n;while (cin>>n&&n){ll arr[40];map<ll, int> sum;for (int i = 0; i <n; i++)cin >> arr[i];pair<ll, int> result(ll__absolute(arr[0]), 1);//先枚举其中的一半for (ll i = 0; i < (1 << n / 2); i++){ll sums = 0;int numn = 0;for (int j = 0; j < n / 2; j++) {if ((i >> j) & 1) {sums += arr[j];numn++;}}if (numn == 0)continue;map <ll, int> ::iterator it=sum.find(sums);if (it != sum.end()) {sum[sums] = min(it->second, numn);}else sum[sums] = numn;result = min(result, make_pair(ll__absolute(sums), numn));}//枚举另一半for (ll i = 0; i < (1 << (n - n / 2)); i++) {ll sums = 0;int numn = 0;for (int j = 0; j <(n - n / 2); j++) {if ((i >> j) & 1) {sums += arr[j + n / 2];numn++;}}if (numn == 0)continue;result = min(result, make_pair(ll__absolute(sums), numn));map<ll, int> ::iterator it = sum.lower_bound(-sums);if (it != sum.end()) {result = min(result, make_pair(ll__absolute(sums + it->first), numn + it->second));}if (it != sum.begin()) {it--;result = min(result, make_pair(ll__absolute(sums + it->first), numn + it->second));}}cout << ll__absolute(result.first) << ' ' << result.second << endl;}return 0;}
阅读全文
0 0
- poj3977(折半搜索)
- 折半搜索 poj3977
- 折半枚举--poj3977
- POJ3977 Subset 折半枚举
- poj3977 Subset 折半枚举
- POJ3977(折半枚举)
- POJ3977-Subset 折半枚举
- poj3977 Subset(折半枚举)
- poj3977(折半枚举,多坑)
- POJ3977-Subset【双向搜索】
- poj3977
- poj3977
- UVa10125--Sumsets(折半搜索)
- POJ2549-Sumsets【折半搜索】
- ZOJ2898【折半搜索】
- POJ3977_Subset_折半搜索
- 搜索算法(折半查询)
- POJ3977-Subset
- Android开发丶MaterialDesign实战のToolbar
- 【CSS实现正方形】CSS实现自适应正方形、等宽高比矩形
- 【网络基础 三】数据链路层
- openstack 最新版本ocata 详细安装指南
- Java正则表达式的使用和基本语法
- 折半搜索 poj3977
- 用户画像-方法
- 第十四篇: 最熟悉的陌生人:ListView 中的观察者模式
- @ModelAtribute用法
- vue.js之获取当前点击对象(其实是套着vue的原生javascript吧,笑?)
- 5-4 利用函数计算素数个数并求和
- 最代码的上传的代码文件存储什么地方呢?
- 心率检测实现报告(四)
- 【资源共享】《Rockchip 以太网 开发指南 V2.3.1》