当前位置: 首页 > news >正文

晋城龙采网站建设长沙网络推广哪家

晋城龙采网站建设,长沙网络推广哪家,小小的日本在线观看免费,网站建设实验总结百科题目描述 达达帮翰翰给女生送礼物,翰翰一共准备了NNN 个礼物,其中第 iii 个礼物的重量是 G[i]G[i]G[i]。 达达的力气很大,他一次可以搬动重量之和不超过 WWW 的任意多个物品。 达达希望一次搬掉尽量重的一些物品,请你告诉达达在…

题目描述

达达帮翰翰给女生送礼物,翰翰一共准备了NNN 个礼物,其中第 iii 个礼物的重量是 G[i]G[i]G[i]

达达的力气很大,他一次可以搬动重量之和不超过 WWW 的任意多个物品。

达达希望一次搬掉尽量重的一些物品,请你告诉达达在他的力气范围内一次性能搬动的最大重量是多少。

输入格式

第一行两个整数,分别代表 WWWNNN

以后 N 行,每行一个正整数表示 G[i]G[i]G[i]

输出格式

仅一个整数,表示达达在他的力气范围内一次性能搬动的最大重量。

数据范围

1≤N≤461 \le N \le 461N46
1≤W,G[i]≤231−11 \le W,G[i] \le 2 ^ {31} - 11W,G[i]2311

输入样例

20 5
7
5
4
18
1

输出样例

19

思路

由于取得方法有2462^{46}246(70368744177664)种,肯定超时。但如果将其分成两组,每组就只有2232^{23}223(8388608)种,这就可以过了。先将第一组可能组成的数存入数组(要去重,不然TLE),然后再枚举第二组,枚举到一个数就二分搜索与第一组可以组成最大的数。

代码

#include <iostream>
#include <algorithm>
using namespace std;int n, w, k;
int a[50];
int pp[16777216], p[16777216], cnt, cnt1, ans;bool cmp(int x, int y)
{return x > y;
}void dfs1(int step, int last) 
{if (step == n / 2) {pp[cnt++] = last;return;}if ((long) last + a[step] <= w) dfs1(step + 1, last + a[step]);dfs1(step + 1, last);
}void dfs2 (int step, int last) 
{if (step == n) {int l = 0, r = cnt - 1;while(l < r) {int mid = (l + r + 1) / 2;if ((long) p[mid] + last <= w) l = mid;else r = mid - 1;}if ((long) p[l] + last <= w) ans = max(ans, p[l] + last);return;}if ((long) last + a[step] <= w) dfs2(step + 1, last + a[step]);dfs2(step + 1, last);
}int main() {cin >> w >> n;for (int i = 0; i < n; i++) cin >> a[i];sort(a, a + n, cmp);k = n / 2;dfs1(0, 0);sort(pp, pp + cnt);int cnt1 = cnt;cnt = 0;for (int i = 1; i <= cnt1; i++){if (pp[i] != pp[i - 1]) p[++cnt] = pp[i];}dfs2(n / 2, 0);cout << ans << endl;return 0;
}
http://www.shuangfujiaoyu.com/news/61920.html

相关文章:

  • 学校网站建设要多少钱关键词搜索查询
  • 艺麟盛世可以做网站推广吗企业高管培训课程有哪些
  • 徐州英文网站优化中国最新军事新闻
  • 深圳学校网站定制设计软件开发工具
  • 常州外贸网站使用百度地图导航收费吗
  • 个人做网站的好处seo排名平台
  • html网站开发例子怎样做自己的网站
  • 竞价推广培训课程百度首页排名优化服务
  • 网站建设方面存在的问题公关公司排名
  • 做电影网站需要什么条件外贸推广平台排名
  • erp网站建设seo网络优化师
  • 上海外贸seo公司seo是什么公司
  • python制作的网站制作网页的流程
  • 独立网站怎么做推广seo免费系统
  • php网站开发实例教程作业武汉seo关键词优化
  • 做设备开通哪个网站好seo基础课程
  • 南昌 网站制作搜狗推广平台
  • 建网页还是网站长沙seo优化排名推广
  • 网页设计网站怎么放到域名里上海网站搜索引擎优化
  • 开发一个网站需要多少人柳州网站建设哪里有
  • amazon虚拟机免费做网站网站维护一般怎么做
  • 南充做网站的公司网络营销推广方式
  • 嘉定营销型 网站制作成人技能培训
  • 网站上的滚动条是如何做的百度一下百度首页官网
  • 网站模板怎么弄的有域名后如何建网站
  • 网站更新怎么做怎么联系百度推广
  • 网站开发远程服务器如何设置今日十大热点新闻头条
  • 建站公司建的网站能改动吗淘宝关键词排名查询
  • 社区服务呼叫系统 网站的建设广告关键词查询
  • 青海省wap网站建设公司百度一下百度一下