[bzoj4300][绝世好题] (动规)
2024-09-08 07:42:48
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
1 2 3
Sample Output
2
HINT
n<=100000,ai<=2*10^9
Solution
什么gui
#include <stdio.h>
#include <string.h>
#define MaxBuf 1<<22
#define RG register
#define inline __inline__ __attribute__((always_inline))
#define Blue() ((S==T&&(T=(S=B)+fread(B,1,MaxBuf,stdin),S==T))?0:*S++)
#define dmax(a,b) ((a)>(b)?(a):(b)) char B[MaxBuf],*S=B,*T=B; inline void Rin(RG int &x) {
x=;RG int c=Blue(),f=;
for(; c<||c>; c=Blue())
if(c==)f=-;
for(; c>&&c<; c=Blue())
x=(x<<)+(x<<)+c-;
x*=f; } int n,x,ans,f[]; int main() {
Rin(n);
while(n--) {
register int t=;
Rin(x);
for(register int i=; i<=; i++)
if(x&(<<i))
t=dmax(f[i]+,t);
for(register int i=; i<=; i++)
if(x&(<<i))
f[i]=t;
ans=dmax(ans,t); }
printf("%d\n",ans);
fclose(stdin);
return ; }
最新文章
- C/C++,彩色图像小游戏。
- [bzoj1618][Usaco2008 Nov]购买干草
- C# 中的";yield";使用
- JS - 超强大文本动画插件Textillate.js
- Visual Studio 2013 Web开发、新增功能:&ldquo;Browser Link&rdquo;
- 创建透明的UIToolbar
- Objective-C 【NSString-字符串比较&;前后缀检查及搜索】
- hdu4710
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- Android实现横屏以及全屏的小技巧
- 数据结构系列(2)之 AVL 树
- .net core2.1 配置
- 记录-eureka
- android RadioGroup中设置selector后出现多个别选中的RadioButton的解决办法
- css3--之HSL颜色
- Struts2 的 配置
- Java面试题,Java三大特性之一——多态的理解
- Oracle Time Model Statistics(时间模型统计)
- C# 获取当前IIS请求地址
- Java——文件过滤器