传送门
思路:
按照每一位来进行DP
f[i]f[i]表示最后一个数的第i个二进制为1的最长子序列个数
每次转移时把a[i]a[i]拆成二进制位,然后取数为1的位上f<script type="math/tex" id="MathJax-Element-66">f</script>最大值就可以了

#include<bits/stdc++.h>
using namespace std;
int n,ans;
int f[100002];
main()
{scanf("%d",&n);for (int i=1;i<=n;i++){int x,maxn=0;scanf("%d",&x);for (int j=1,t=x;t;t>>=1,j++)if (t&1) maxn=max(maxn,f[j]);for (int j=1,t=x;t;t>>=1,j++)if (t&1) f[j]=max(maxn+1,f[j]);}for (int i=1;i<=n;i++) ans=max(f[i],ans);printf("%d",ans);
}

【BZOJ4300】绝世好题,位运算相关DP相关推荐

  1. 【位运算】解题报告:luoguP4310 绝世好题(位运算优化DP)

    题目链接:luoguP4310 绝世好题 这是链接 因为答案只能是由两个在二进制表示下至少有一位同是1的a序列里的数&得到的,最后求子序列的个数 f[i]存的是对于a序列中当前遍历到的数中有几 ...

  2. bzoj5108 [CodePlus2017]可做题 位运算dp+离散

    [CodePlus2017]可做题 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 87  Solved: 63 [Submit][Status][D ...

  3. !codeforces 558C Amr and Chemistry-yy题-(位运算相关)

    题意:有n个数,每次进行的操作只能是除以2或者乘以2,求这n个数转换成同一个数字所需要的最小的操作步数 分析: 乍一看题目,觉得好难,对于这种每次有两种情况求最后到达的终点的balabala的我就觉得 ...

  4. BZOJ4300 绝世好题

    目录 BZOJ4300 绝世好题 题解 code BZOJ4300 绝世好题 题目传送门 题解 比较简单的\(DP\),记\(f[i]\)表示第\(i\)位为1,最长的长度为多少.只需要枚举每一个数字 ...

  5. [CodeForces gym 102956 D] Bank Security Unification(位运算优化dp)

    problem cf链接 solution 读完题先直接暴力 dpdpdp 拿出来,dpi=max⁡j<i{dpj+(fi&fj)}dp_i=\max_{j<i}\big\{dp_ ...

  6. C#LeetCode刷题-位运算

    位运算篇 # 题名 刷题 通过率 难度 78 子集 67.2% 中等 136 只出现一次的数字 C#LeetCode刷题之#136-只出现一次的数字(Single Number) 53.5% 简单 1 ...

  7. [剑指offer][JAVA][面试题56 - I][第260题][位运算][HashSet]

    [问题描述] [面试题56 - I] [数组中数字出现的次数] 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度 ...

  8. 【231】判断是否是2的次幂--位运算相关

    给你一个整数 n,请你判断该整数是否是 2 的幂次方.如果是,返回 true :否则,返回 false . 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方. 示例 1: 输 ...

  9. 状压dp解释及位运算相关介绍

    状压dp其实和普通dp没有什么区别,主要差别在于要熟练掌握为运算的处理,我自己在这一方面比较菜, 所以特此总结一下,也方便自己以后查阅. 状压dp主要是将当前比较复杂的状压缩到二进制上表示,一般用于处 ...

最新文章

  1. 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。...
  2. 用XFTP向Linux上传文件时出现Permission is not allowed
  3. Java项目构建基础的三个统一,太厉害了!
  4. 可编程交换时代就在这里
  5. DDL、DML、TCL
  6. 墙面有几种装修方法_卧室装修静音环保攻略,赶紧收藏起
  7. 思科路由器配置命令(详细命令总结归纳)
  8. 个人网站怎么建设,个人网站建设流程
  9. ASP.NET免费发送邮件|
  10. 【官方文档】Fluent Bit 安装在 Linux
  11. Python实现某du内容下载, 保存到word文档
  12. 测试人员与开发人员的比例究竟多少是合理的?
  13. 圣诞要到了~教你用Python制作一个表白神器——照片墙,祝你成功
  14. html img 图片不拉伸,固定长宽的img标签如何保持里面的图片不缩放
  15. 4.3数学与自然语言的一些比较2
  16. ESP8266-Arduino编程实例-MS5611气压传感器驱动
  17. Lua与C语言的互相调用
  18. Android WebView屏蔽网页中广告
  19. 小雷盒子刷x86教程_小米盒子刷windows系统教程
  20. 鄂尔多斯无人值守煤炭运销管理系统软件功能要求(二)

热门文章

  1. 区块链学习笔记:D03 区块链在各行业领域的应用(一)
  2. Python爬虫批量下载糗事百科段子,怀念的天王盖地虎,小鸡炖蘑菇...
  3. 【nodejs原理源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)
  4. 补习系列-springboot-使用assembly进行项目打包
  5. 【python基础知识】python输出时出错,UnicodeEncodeError: 'gbk' codec can't encode character '\ue4bf.....
  6. 哪个专业学python语言_想学Python编程?你真的适合吗?
  7. php显示图片缩略图,使用ThinkPHP生成缩略图及显示的方法
  8. 举例说明string类和stringbuffer类的区别_String,StringBuilder,StringBuffer的区别
  9. linux查询22窗口,22linux查询文件命令比较
  10. linux procs单位m,Linux