dp(i)表示二进制的第i位为1时的最大值, 然后从左到右dp

------------------------------------------------------------------------

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define b(i) (1 << (i))
const int maxn = 100009;
const int n = 31;
int dp[40], N;
int main() {
memset(dp, 0, sizeof dp);
scanf("%d", &N);
for(int i = 0; i < N; i++) {
int t = 0, a;
scanf("%d", &a);
for(int j = 0; j < n; j++)
if(b(j) & a) t = max(t, dp[j]);
t++;
for(int j = 0; j < n; j++)
if(b(j) & a) dp[j] = max(dp[j], t);
}
printf("%d\n", *max_element(dp, dp + 40));
return 0;
}

------------------------------------------------------------------------

4300: 绝世好题

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 274  Solved: 168
[Submit][Status][Discuss]

Description

给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。

Input

输入文件共2行。
第一行包括一个整数n。
第二行包括n个整数,第i个整数表示ai。

Output

输出文件共一行。
包括一个整数,表示子序列bi的最长长度。

Sample Input

3
1 2 3

Sample Output

2

HINT

对于100%的数据,1<=n<=100000,ai<=10^9。

Source

By Oxer

转载于:https://www.cnblogs.com/JSZX11556/p/4902301.html

BZOJ 4300: 绝世好题( dp )相关推荐

  1. bzoj 4300 绝世好题——DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4300 考虑 dp[ i ] 能从哪些 j 转移过来,就是那些 a[ j ] & a[ ...

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

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

  3. bzoj 4300: 绝世好题

    4300: 绝世好题 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1930  Solved: 1017 [Submit][Status][Discu ...

  4. bzoj 4300 绝世好题 —— 思路

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4300 记录一下 mx[j] 表示以第 j 位上是1的元素结尾的子序列长度最大值,转移即可. ...

  5. [BZOJ 4300]绝世好题

    Description 题库链接 给定一个长度为 \(n\) 的数列 \(a_i\) ,求 \(a_i\) 的子序列 \(b_i\) 的最长长度,满足 \(b_i\wedge b_{i-1}\neq ...

  6. BZOJ-4300 绝世好(蛋疼)题 DP(递推)

    翻zky学长的blog时翻出来的..... 4300: 绝世好题 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 736 Solved: 393 [Sub ...

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

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

  8. BZOJ4300 绝世好题

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

  9. BZOJ第一页刷题计划

    BZOJ第一页刷题计划 已完成:67 / 90 [BZOJ1000]A+B Problem:A+B: [BZOJ1001][BeiJing2006]狼抓兔子:最小割: [BZOJ1002][FJOI2 ...

最新文章

  1. react-native 支持 gif 图片
  2. 【Apache】 LXC 容器中重启 Apache 报错: Failed to set up mount namespacing: Permission denied
  3. 面试中又被问到Redis如何实现抢购,赶快代码实现一波吧!
  4. 使用jasmine.createSpyObj具有依赖关系的Angular服务进行单元测试
  5. swarm 本地管理远程_带有WildFly Swarm的远程JMS
  6. matlab设置非平坦结构元,详解MATLAB/Simulink通信系统建模与仿真图书信息
  7. Activiti 基础概念
  8. 【Java】Date类和Calendar类必知必会
  9. Linux目录结构详解
  10. 【专家访谈】测试专家 - 陈林钧 访谈记录整理汇总
  11. 【概率论】期望、方差、协方差、相关系数、相关与独立、样本估计量、点估计、区间估计
  12. ”被裁员6次的运营总监分享”总被裁员的运营人到底是为什么?
  13. 2021年Java开发爆款推荐!黑马java培训视频网盘下载
  14. 基础知识(一)WPF与 Blend的关系,以及Blend如何快速生成xaml代码,即Path数据。
  15. gitlab配置发送邮件
  16. 删除Custom about:config即可轻松输入
  17. 对异地工作的一些看法
  18. python比c语言好学吗-总算找到c语言和python哪个好学
  19. 类型数组HTML5 中的新数组
  20. js-变量、数据类型、数据类型转换

热门文章

  1. git简明教程:基本操作命令
  2. JVM调优:-Xms40M -Xmx60M 指定堆的最小、最大大小
  3. Linux vim打开文件的四种方式
  4. 【爬蟲】使用Jsoup解析文档
  5. linux 安装u盘win7系统安装教程,centos u盘安装 boot制作u盘win7盘工具
  6. esxi6.7虚拟机网卡连接第二个虚拟交换机_Linux云计算底层技术之网络虚拟化
  7. systemctl 命令完全指南
  8. 左手笛卡尔坐标系与左手笛卡尔坐标系区分
  9. 共享内存 传一个类指针_共享内存介绍:Shared Memory
  10. php 获取ip mac,php获取IP、MAC地址函数