01背包,但是bit -枚举 + 位运算

题面

分析

思考什么情况可以装,如果一个数或进去不超过 m m m 就可以加入,否则不能加入,那么如果某一个数和 m m m 或运算能够分为两部分,前一部分进行或运算为 m m m 的子集,后一部分可以是任何数,存在当前一位为 0 0 0,但 m m m 的这一位为 1 1 1,呢么无论如何他都是小于 m m m 的,就一定可以加进去,所以可以枚举所有 m m m 的二进制位,如果当前这一位为 1 1 1,那么可以去枚举所有的物品,如果满足当前位前面为 m m m 对应部分子集,当前位为 0 0 0 ,那么可以加进去,对所有情况取最大值。

代码
#include <bits/stdc++.h>using namespace std;
using ll = long long;const int N = 1e5 + 10;int v[N], w[N];void solve() {int n, m;cin >> n >> m;for(int i = 1; i <= n; i ++) cin >> w[i] >> v[i];ll ans = 0;for(int i = 0; i <= 30; i ++) {if(((m >> i) & 1) || i == 0) {int x = (1 << i) - 1;int res = m | x;ll sum = 0;//cout << i << endl;for(int j = 1; j <= n; j ++) {if(((v[j] >> i) & 1) && i != 0) continue;//cout << v[j] << ' ' << (v[j] | res) << endl;if((v[j] | res) == res) sum += w[j];}//cout << sum << ' ';ans = max(ans, sum);}}cout << ans << "\n";
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int T;cin >> T;while(T --) {solve();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/665426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅析Redis③:命令处理之数据返回Client(下)

写在前面 Redis作为我们日常工作中最常使用的缓存数据库&#xff0c;其重要性不言而喻&#xff0c;作为普通开发者&#xff0c;我们在日常开发中使用Redis&#xff0c;主要聚焦于Redis的基层数据结构的命令使用&#xff0c;很少会有人对Redis的内部实现机制进行了解&#xff0c…

Android Input系统之 InputMonitor 更新流程

分析源码为 android 12 一、InputMonitor层面分析 在 WMS 添加&#xff0c;更新和删除Window 的时候都会调用 InputMonitor 的 updateInputWindowsLw 更新 window 信息。如下是删除window 时候的调用函数&#xff1a; WMS.java void removeWindowToken(IBinder binder, boo…

STM32 UART/USART的低功耗模式和节能优化策略

在STM32微控制器中&#xff0c;UART/USART模块的低功耗模式和节能优化策略可以帮助减少系统功耗&#xff0c;并延长电池寿命。下面我将介绍一些常用的低功耗功能和相应的节能优化策略&#xff0c;并提供一个示例代码来演示如何实现它们。 ✅作者简介&#xff1a;热爱科研的嵌入…

华为鸿蒙系统第三方桌面手机管家版本号12.0.1.330

起因 放假在家&#xff0c;准备把自己的旧手机给家里老人看小视频&#xff0c;但是老人不懂智能手机的复杂操作&#xff0c;就想换成《极简桌面》这个软件&#xff0c;在“设置->默认应用->桌面”&#xff0c;但是华为为了“保护用户的隐私以及合法权益”禁用了第三方启…

202417读书笔记|《画•大师 阿尔丰斯•穆夏》——在明亮大胆的色调中熠熠生辉

202417读书笔记|《画•大师 阿尔丰斯•穆夏》——在明亮大胆的色调中熠熠生辉 这是读完的第二本或者第三本穆夏的画集。很赞&#xff0c;他的绘画风格&#xff0c;构图&#xff0c;元素&#xff0c;取大自然的月桂树&#xff0c;常青藤&#xff0c;&#x1f319;的不同形态&…

链表与二叉树-数据结构

链表与二叉树-数据结构 创建叶子node节点建立二叉树三元组&#xff1a;只考虑稀疏矩阵中非0的元素&#xff0c;并且存储到一个类&#xff08;三元组&#xff09;的数组中。 创建叶子node节点 class Node{int no;Node next;public Node(int no){this.nono;} } public class Lb…

Rsnapshot备份服务器

1、资源服务器设置免登录 资源服务器生成公钥和私钥 ssh-keygen 资源服务器将公钥复制到备份服务器 ssh-copy-id root192.168.1.129 备份服务器测试免密登录 ssh root192.168.1.128 2、顶顶顶顶 3、第三方士大夫 4、似懂非懂 5、是的范德萨发 6、第三方士大夫

Java实现对接微信支付功能接口详解(三)

本系列文章简介&#xff1a; 微信支付是一种在线支付解决方案&#xff0c;允许用户通过微信内的支付功能进行付款。它提供了多种支付方式&#xff0c;包括扫码支付、公众号支付、小程序支付等。在Java应用程序中实现微信支付功能&#xff0c;可以为用户提供方便快捷的支付体验。…

Fink CDC数据同步(三)Flink集成Hive

1 目的 持久化元数据 Flink利用Hive的MetaStore作为持久化的Catalog&#xff0c;我们可通过HiveCatalog将不同会话中的 Flink元数据存储到Hive Metastore 中。 利用 Flink 来读写 Hive 的表 Flink打通了与Hive的集成&#xff0c;如同使用SparkSQL或者Impala操作Hive中的数据…

Android-service

1. 预知识&#xff08;安卓版本&#xff09; public static final int BASE 1; //Android 1.0public static final int BASE_1_1 2; //Android 1.1public static final int CUPCAKE 3; //Android 1.5public static final…

Java 正则表达式总结

Java 正则表达式总结 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编。今天&#xff0c;我们将深入探讨Java正则表达式&#xff0c;这是一种强大的文本匹配和处理工具&#xff0c;用于处理字符串的模式匹配。 1. 正则表达式简介 正则表达式是…

ABC339 A-G

Japan Registry Services (JPRS) Programming Contest 2024 (AtCoder Beginner Contest 339) - AtCoder 离AK ABC最近的一集&#xff0c;写完F还剩十分钟聊天去了&#xff0c;赛后一看题一眼主席树贴板子改一改十分钟过了...前几题感觉真的阅读理解... A - TLD 题意&#xf…

流畅的Python(七)-函数装饰器和闭包

一、核心要义 主要解释函数装饰器的工作原理&#xff0c;包括最简单的注册装饰器和较复杂的参数化装饰器。同时&#xff0c;因为装饰器的实现依赖于闭包&#xff0c;因此会首先介绍闭包存在的原因和工作原理。 二、代码示例 1、变量作用域规则 #!/usr/bin/env python # -*-…

前端学习笔记 | HTML5+CSS3静态网页制作的技巧(持续更新)

注&#xff1a;本文的css样式均使用less写法 1、字体居中 &#xff08;1&#xff09;先text-align:center;行内元素水平居中 &#xff08;2&#xff09;再line-heigh:(盒子高度);行内元素垂直居中 text-align: center;line-height: ( 30 / vw ); 2、盒子居中 情景1&#…

【课程作业_01】国科大2023模式识别与机器学习实践作业

国科大2023模式识别与机器学习实践作业 作业内容 从四类方法中选三类方法&#xff0c;从选定的每类方法中 &#xff0c;各选一种具体的方法&#xff0c;从给定的数据集中选一 个数据集&#xff08;MNIST&#xff0c;CIFAR-10&#xff0c;电信用户流失数据集 &#xff09;对这…

【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)

手把手零基础带你玩转大数据流式处理引擎Flink&#xff08;运行机制原理加深&#xff09; 前提介绍运行Flink应用运行机制Flink的两大核心组件JobManagerTaskManagerTaskSlot Flink分层架构Stateful Stream ProcessingDataStream和DataSetDataStream&#xff08;数据流&#xf…

GPIO中断

1.EXTI简介 EXTI是External Interrupt的缩写&#xff0c;指外部中断。在嵌入式系统中&#xff0c;外部中断是一种用于处理外部事件的机制。当外部事件发生时&#xff08;比如按下按钮、传感器信号变化等&#xff09;&#xff0c;外部中断可以立即打断正在执行的程序&#xff0…

Qt 数据库操作V1.0

1、pro文件 QT sql2、h文件 #ifndef DATABASEOPERATION_H #define DATABASEOPERATION_H#include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QSqlRecord> #include <QDebug> #include <QVariant>clas…

大红喜庆版UI猜灯谜小程序源码/猜字谜微信小程序源码

今天给大家带来一款UI比较喜庆的猜灯谜小程序&#xff0c;大家看演示图的时候当然也是可以看得到那界面是多么的喜庆&#xff0c;而且新的一年也很快就来了,所以种种的界面可能都比较往喜庆方面去变吧。 这款小程序搭建是免服务器和域名的&#xff0c;只需要使用微信开发者工具…

Linux一键部署telegraf 实现Grafana Linux 图形展示

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…