【位运算】解题报告:luoguP4310 绝世好题(位运算优化DP)
题目链接: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)相关推荐
- 计算机解题报告,计算机题目33题(附带题解)精选.doc
第1~10题为基础题,第11~20题为提高题,第21~33为综合题 每位同学分别从基础题.提高题.综合题中各选一题,按学号顺序循环选择,用word写报告.每班评出优秀的9名同学,上台做报告,每人期末成 ...
- [解题报告]【第16题】给定 n,打印一个直角边为 n 的等边直角三角形
目录 零.写在前面 一.主要知识点 1.打印指定的形状的边界判定 2.信号量 二.课后习题 1115. 交替打印FooBar 写在最后 零.写在前面 这个系列不经常更新,今天这个题目因为英雄哥玩超纲课 ...
- [Comet OJ - Contest #7 D][52D 2417]机器学习题_斜率优化dp
机器学习题 题目大意: 数据范围: 题解: 学长说是决策单调性? 直接斜率优化就好了嘛 首先发现的是,$A$和$B$的值必定是某两个$x$值. 那么我们就把,$y$的正负分成两个序列,$val1_i$ ...
- 人生第一场CTF的解题报告(部分)
解题报告 濮元杰部分: 王者归来: 120 场景 小王入职了一段时间,最近有点无聊.Web安全项目不多,白天看着其他项目组的同事忙得热火朝天,小王有点坐不住了,这也许是新人都会有的想法,乐于助人.想到 ...
- HYSBZ(BZOJ) 4300 绝世好题(位运算,递推)
HYSBZ(BZOJ) 4300 绝世好题(位运算,递推) Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<= ...
- Leetcode 第1342题:将数字变成 0 的操作次数 (位运算解题法详解)
前言 Leetcode第1342题如果用直观方式来做,其实是一道难度极低的题目.但是如果采用位运算的方式来解,则会涉及许多有趣的衍生知识点,了解其背后的原理对我们认识位运算有很大的帮助.现在,就让我们 ...
- 解题报告(二)多项式问题(多项式乘法及其各种运算)(ACM/ OI)超高质量题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 攻防世界XCTF-MOBILE入门9题解题报告
说实话,这几天被逆向的恐怖思维,深深的吓着了,真的要抱腿腿了,叫我失眠了好几晚,我觉得逆向分析是CTF中最难的,求腿腿指点迷津啊,我决定不闷头自己研究了.@欠费烦 感谢大佬提供的帮助,让我有了继续刷下 ...
- 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我新写的超高质量的题解和代码,题目难度不 ...
最新文章
- unordered_map的使用特性
- 为什么「道理都懂,然而执行力差」的现象如此普遍?
- 【二维费用的01背包 HDU3496 HDU2184】
- 深蓝学院《从零开始手写VIO》作业七
- 引用wx.getclipboarddata中的内容_教材、图书在引用时要注意哪些方面
- PHP 设计模式 笔记与总结(3)SPL 标准库
- 《python透明人士,他是凭什么成为主流编程的宠儿?!》Python基础
- HTML5css3学习总结(2)
- 大数据_Hbase-数据存储介绍---Hbase工作笔记0002
- intel x520网卡驱动_手工编译linux桌面内核(二)——硬件驱动的配置 下篇
- 在拼多多上班,是一种什么样的体验?我心态崩了呀!
- 动态链接库(.dll) 动态导入库(.lib) 静态链接库(.lib)
- 超好看的粒子效果文字动画特效HTML5源码
- 8.1 Kotlin Sealed类
- backtrack5网络设置
- CMU 15-445实验记录(三):Project 2 B+Tree的插入与删除
- openpyxl 删除单元格
- PyQt5_股票技术图形查看工具
- ARTS总结-第2周
- 使用shutdown命令实现远程关机