当前位置: 首页 > news >正文

绝世好题bzoj4300

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

n<=100000,ai<=2*10^9

递推

f[x]表示相应二进制位为1时的最优解

每一次输入一个数,二进制分解,取为1的f值的最大长度

再将其加1,取代对应的f值

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int f[100002],x,n,ans;
 7 int main()
 8 {int i,cnt,z;
 9     cin>>n;
10      for (i=1;i<=n;i++)
11      {
12         scanf("%d",&x);
13         cnt=0,z=0;
14         int xx=x;
15         while (x)
16         {
17             cnt++;
18             if (x%2==1)
19             {
20                 z=max(z,f[cnt]);
21             }
22             x/=2;
23         }
24         cnt=0;
25          while (xx)
26          {
27             cnt++;
28             if (xx%2==1)
29             {
30                 f[cnt]=max(f[cnt],z+1);
31                 ans=max(ans,f[cnt]);
32             }
33             xx/=2;
34          }
35      }
36      cout<<ans;
37 }

 

 

 

转载于:https://www.cnblogs.com/Y-E-T-I/p/7134209.html

相关文章:

  • 在存储过程中拥有role的权限(Authid Current_User)
  • 渐变维度(Slowly Changing Dimension)及其处理方法
  • 获取url值
  • 1.Angular框架-angular介绍与基本使用,MVC模式介绍
  • Oracle性能调优-优化排序操作
  • 鲜为人知的软件项目管理原则
  • 业界经典语录
  • 数据仓库设计的思考
  • ubuntu下安装Java并设置环境变量
  • arguments、this指针、call和apply、bind语法
  • ubuntu修改主机名
  • SSH设置不输入密码登陆方式
  • vb编程代码大全
  • ubuntu安装配置hadoop和hive
  • 励志
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Fastjson的基本使用方法大全
  • fetch 从初识到应用
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • python 装饰器(一)
  • React16时代,该用什么姿势写 React ?
  • REST架构的思考
  • Ruby 2.x 源代码分析:扩展 概述
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 产品三维模型在线预览
  • 后端_MYSQL
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 基于游标的分页接口实现
  • 看域名解析域名安全对SEO的影响
  • 前嗅ForeSpider中数据浏览界面介绍
  • 实现简单的正则表达式引擎
  • 收藏好这篇,别再只说“数据劫持”了
  • 手写一个CommonJS打包工具(一)
  • 一起参Ember.js讨论、问答社区。
  • 怎么把视频里的音乐提取出来
  • 智能合约Solidity教程-事件和日志(一)
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​虚拟化系列介绍(十)
  • (7)摄像机和云台
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (接口封装)
  • (五)关系数据库标准语言SQL
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转) ns2/nam与nam实现相关的文件
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)母版页和相对路径
  • (转)用.Net的File控件上传文件的解决方案
  • .describe() python_Python-Win32com-Excel
  • .form文件_一篇文章学会文件上传
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter