题目链接:luoguP4310 绝世好题

这是链接

因为答案只能是由两个在二进制表示下至少有一位同是1的a序列里的数&得到的,最后求子序列的个数
f[i]存的是对于a序列中当前遍历到的数中有几个在二进制表示下第i位为1,因为求的是子序列的个数而非方案,所以发现当前的数可以与之前的数&之后得到1满足题目要求,答案就只+1

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<math.h>
#include<cstring>
#include<queue>
//#define ls (p<<1)
//#define rs (p<<1|1)
#define over(i,s,t) for(register int i = s;i <= t;++i)
#define lver(i,t,s) for(register int i = t;i >= s;--i)
//#define int __int128
//#define lowbit(p) p&(-p)
using namespace std;typedef long long ll;
typedef pair<int,int> PII;
const ll INF = 1e18;
const int N = 5e5+7;
const int M = 5e4+7;
//因为答案只能是由两个在二进制表示下至少有一位同是1的a序列里的数&得到的,最后求子序列的个数
//f[i]存的是对于a序列中当前遍历到的数中有几个在二进制表示下第i位为1,因为求的是子序列的个数而非方案,所以发现当前的数可以与之前的数&之后得到1满足题目要求,答案就只+1int a[N];
int n,m,ans;
int f[N];
int main(){cin>>n;over(i,1,n)scanf("%d",&a[i]);over(i,1,n){int maxn = -1;over(j,1,32)//ai < 1e9 ≈ 2^32if(a[i] & (1<<j))maxn = max(maxn,f[j] + 1);//寻找最大答案over(k,1,32)if(a[i] & (1<<k))f[k] = maxn;//更新当前f数组ans = max(maxn,ans);//更新当前答案}printf("%d\n",ans);return 0;
}

【位运算】解题报告:luoguP4310 绝世好题(位运算优化DP)相关推荐

  1. 计算机解题报告,计算机题目33题(附带题解)精选.doc

    第1~10题为基础题,第11~20题为提高题,第21~33为综合题 每位同学分别从基础题.提高题.综合题中各选一题,按学号顺序循环选择,用word写报告.每班评出优秀的9名同学,上台做报告,每人期末成 ...

  2. [解题报告]【第16题】给定 n,打印一个直角边为 n 的等边直角三角形

    目录 零.写在前面 一.主要知识点 1.打印指定的形状的边界判定 2.信号量 二.课后习题 1115. 交替打印FooBar 写在最后 零.写在前面 这个系列不经常更新,今天这个题目因为英雄哥玩超纲课 ...

  3. [Comet OJ - Contest #7 D][52D 2417]机器学习题_斜率优化dp

    机器学习题 题目大意: 数据范围: 题解: 学长说是决策单调性? 直接斜率优化就好了嘛 首先发现的是,$A$和$B$的值必定是某两个$x$值. 那么我们就把,$y$的正负分成两个序列,$val1_i$ ...

  4. 人生第一场CTF的解题报告(部分)

    解题报告 濮元杰部分: 王者归来: 120 场景 小王入职了一段时间,最近有点无聊.Web安全项目不多,白天看着其他项目组的同事忙得热火朝天,小王有点坐不住了,这也许是新人都会有的想法,乐于助人.想到 ...

  5. HYSBZ(BZOJ) 4300 绝世好题(位运算,递推)

    HYSBZ(BZOJ) 4300 绝世好题(位运算,递推) Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<= ...

  6. Leetcode 第1342题:将数字变成 0 的操作次数 (位运算解题法详解)

    前言 Leetcode第1342题如果用直观方式来做,其实是一道难度极低的题目.但是如果采用位运算的方式来解,则会涉及许多有趣的衍生知识点,了解其背后的原理对我们认识位运算有很大的帮助.现在,就让我们 ...

  7. 解题报告(二)多项式问题(多项式乘法及其各种运算)(ACM/ OI)超高质量题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  8. 攻防世界XCTF-MOBILE入门9题解题报告

    说实话,这几天被逆向的恐怖思维,深深的吓着了,真的要抱腿腿了,叫我失眠了好几晚,我觉得逆向分析是CTF中最难的,求腿腿指点迷津啊,我决定不闷头自己研究了.@欠费烦 感谢大佬提供的帮助,让我有了继续刷下 ...

  9. 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我新写的超高质量的题解和代码,题目难度不 ...

最新文章

  1. unordered_map的使用特性
  2. 为什么「道理都懂,然而执行力差」的现象如此普遍?
  3. 【二维费用的01背包 HDU3496    HDU2184】
  4. 深蓝学院《从零开始手写VIO》作业七
  5. 引用wx.getclipboarddata中的内容_教材、图书在引用时要注意哪些方面
  6. PHP 设计模式 笔记与总结(3)SPL 标准库
  7. 《python透明人士,他是凭什么成为主流编程的宠儿?!》Python基础
  8. HTML5css3学习总结(2)
  9. 大数据_Hbase-数据存储介绍---Hbase工作笔记0002
  10. intel x520网卡驱动_手工编译linux桌面内核(二)——硬件驱动的配置 下篇
  11. 在拼多多上班,是一种什么样的体验?我心态崩了呀!
  12. 动态链接库(.dll) 动态导入库(.lib) 静态链接库(.lib)
  13. 超好看的粒子效果文字动画特效HTML5源码
  14. 8.1 Kotlin Sealed类
  15. backtrack5网络设置
  16. CMU 15-445实验记录(三):Project 2 B+Tree的插入与删除
  17. openpyxl 删除单元格
  18. PyQt5_股票技术图形查看工具
  19. ARTS总结-第2周
  20. 使用shutdown命令实现远程关机

热门文章

  1. 你见过最狠的SCI评论是什么?
  2. 使用多尺度空间注意力的语义分割方法
  3. 180615-精度计算BigDecimal
  4. HPQLOCFG 批量管理 HP iLO 实践
  5. Apple Watch学习之路 生命周期研究
  6. vi profile
  7. 【初学者指南】在ASP.NET MVC 5中创建GridView
  8. ubuntu samba 安装
  9. 分层PHP性能分析工具--xhprof
  10. 电子邮件的故事:令人吃惊的预测