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

网站做的好不好怎么建立一个网站

网站做的好不好,怎么建立一个网站,餐饮小店面装修设计,类似wordpress题目描述 注:此版本为本题的hard(困难版),与easy(简单版)唯一的不同之处只有数据范围。 小苯有一个容量为 k 的背包,现在有 n 个物品,每个物品有一个体积 v 和价值 w&#xff0…

题目描述 

注:此版本为本题的hard(困难版),与easy(简单版)唯一的不同之处只有数据范围。
 

小苯有一个容量为 k 的背包,现在有 n 个物品,每个物品有一个体积 v 和价值 w,他想知道在体积不超过 k 的前提下,他最多能装价值为多少的物品。

本问题中,物品的总体积定义为所装物品的体积的 &&(按位与),总价值也定义为所装物品的价值的 &&(按位与)。

(如果不选物品,则价值为 0,所占体积也为 0。)

输入描述:

输入包含 n+1 行。
第一行两个正整数  n,k (1≤n≤2×105,0≤k≤109),分别表示物品个数和背包容量。
加下来 n 行,每行两个正整数 vi​,wi​ (0≤vi​,wi​≤109),表示每个物品的体积和价值。

输出描述:

输出包含一行一个整数,表示能装的最大价值。

示例1

输入

复制

3 1
7 3
10 7
9 6

输出

复制

2

说明

选择第一个和第三个物品。
体积为:7 & 9=17 & 9=1。
价值为:3 & 6=23 & 6=2。可以证明不存在比 22 更大的价值。

示例2

输入

复制

3 2
7 3
10 7
9 6

输出

复制

3

说明

选第一个和第二个物品。

思路:
由于体积和价值选的越多越小,一般背包思路不行

本题采用&运算,反向思路求最多价值,即每一位尽量为1

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){int n,k;cin>>n>>k;int v[n+1],w[n+1];int ans=0;for(int i=1;i<=n;++i)cin>>v[i]>>w[i];for(int i=30;i>=0;i--){//从高位开始枚举,确保价值最高int num=(1L<<30)-1;//初始化最大体积,由于&运算,选的越多体积越小int g=ans|(1<<i);//将第i位变1,继承其他位置for(int j=1;j<=n;++j){if((g&w[j])==g)num=num&v[j];//第i位是1就选}if(num<=k){//体积不超过kans=g;//ans肯定是越来越大的,每次满足第i为变1}}cout<<ans<<endl;
}

http://www.shuangfujiaoyu.com/news/28827.html

相关文章:

  • python web 网站开发深圳网站设计
  • 微信二维码网站建设网络营销实施方案
  • qq企业邮箱注册申请seo关键词排名网络公司
  • 电商详情页设计教程seo文章
  • 电商网站建设基础ppt网店运营教学
  • 太原网站建设.com磁力狗在线搜索
  • 金融适合什么颜色做网站搜索引擎营销的英文缩写是
  • 网站建设毕设百度快速收录工具
  • 建设网站课程设计摘要郑州seo公司排名
  • 做美陈3d模型网站珠海seo快速排名
  • 铜陵市建设局网站广告推广平台
  • 哪里有网站监控工具提供搜索引擎优化公司
  • 如何 在网站上面做推广黄页大全
  • 梦幻西游网页版合肥百度搜索排名优化
  • 做网站可以用python么seo技术培训唐山
  • 沂南建设局网站优秀网站设计赏析
  • bilibili广告投放管理平台百度推广账户优化方案
  • 成人大专学历最快多久拿证厦门网站综合优化贵吗
  • 自助建站网站程序源码站长统计app进入网址
  • 在哪里找给公司做网站优化的人百度推广登录网站
  • 如何删除网站后台的文章软文写手接单平台
  • 厦门网站模板百度招聘平台
  • 男生为女生做网站网络营销运营公司
  • 字体安装 wordpressseo收费标准多少
  • 永州seo快速排名苏州seo网络推广
  • 怎么关闭seo查询宁德seo优化
  • 大连做网站百家号查询排名数据查询
  • ps联盟网站可以发布推广引流的悬赏平台
  • 宿州网站建设sem代运营托管公司
  • 青岛网站制作公司排名百度统计怎么用