尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

知识学报:位运算(1)

知识学报:位运算(1)
📅 发布时间:2026/6/19 2:24:56

不是题解不是教学!!!!!

9.24

洛谷 P4310

题目给定一个长度为 n 的数组,选取一个子序列,使子序列相邻的数之间的 AND 不为 0, 问子序列最长为多少。
很容易想到对于第 i 个数,可以找到之前子序列长度最大的一个和自己 AND 不为零的数,并把 i 的每个为 1 的位都更新为这个长度 + 1,dp 即可。第一次写的时候没有把所有的 1 都更新,挂了两发,检查后很快通过。

洛谷 P7970

题目给出一个矩阵左上角和右下角,给这个矩阵中 i AND j 不为 0 的格子涂黑,问矩阵内有多少个联通块。思考了半个小时,打了表看到一些规律,但基本没什么思路,然后看了题解。题解主要给出了一个关键信息:对于一个黑格 (x, y),两个格子 (x, y - 1) 和 (x - 1, y) 有且只有一个涂黑,y 不变同理。
证明如下:设 x 小于 y 且 x AND y 为 0,故 y - 1 = y - (lowbit(y) - 1) + lowbit(y),也就是把 y 的最后一位 1 后面的全部变为 1,那么 y - 1 一定有 lowbit(x) 位为 1。而 x - 1 = x - lowbit(x) + (lowbit(x) - 1),显然 lowbit(y) 位不受影响仍为 0。
同时观察打表结果,可以注意到联通块的个数是矩形上边和左边与打表结果相切的个数。那么就可以用数位 dp 去求,当一个数所有与 x OR (x - 1) 的 AND 为 0 时,也就是这个数与 x 和 x - 1 的 AND 都为 0,那么这是一个和上边相交的点,横向同理。
注意这道题目需要特判 0 的情况,以及数位 dp 时去判断这一位是否取 AND 为 0 时要注意 1 改为 long long,以及判断不是等于 1 而是非零。

相关新闻

  • ThinkPHP在启用nginx反向代理后如何获取真实的Ip地址
  • 【macOS】垃圾箱中文档无法清理的“含特殊字符文件名”的技巧
  • Git 工作树 (worktree)、合并 (merge) 流程、拉取请求 (PR) 机制,以及基线分支概念

最新新闻

  • 24AA024H/24LC024H EEPROM应用指南:低功耗设计、I2C驱动与数据可靠性
  • AI应用软件开发流程通
  • 2026热震炉品牌推荐,温度均匀性好的热震炉厂家指南 - mypinpai
  • 从56F807到56F8300:DSP电机控制代码移植实战与架构差异解析
  • 聚英物联网云平台:支持数据Excel报表查询下载,轻松搞定海量设备数据整理
  • 曲线拟合实战指南:从原理到Python实现与避坑

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号