BZOJ4300 绝世好题
来源:互联网 发布:淘宝千人千面怎么用 编辑:程序博客网 时间:2024/04/28 01:40
思路
设
那么只需要找到当前数加入某些序列能得到的最长的长度
再用最长长度去更新
#include <cstdio>using namespace std;template <class T>T Max(const T &a , const T &b) {return a > b ? a : b;}const int SN = 100000 + 10;int f[SN], n, a[SN], ans;void Read(int &x) { int in = 0,f = 1;char ch = getchar(); while(ch<'0' || ch>'9') {if(ch=='-') f = -1; ch = getchar();} while(ch>='0' && ch<='9') {in = in*10+ch-'0';ch = getchar();} x = in*f;}int main() { Read(n); for(int i = 1; i <= n; i++) Read(a[i]); for(int i = 1; i <= n; i++) { int t = a[i],k = 1,tmp = 0; while(t) { if(t & 1) tmp = Max(tmp, f[k]+1); t >>= 1; k++; } t = a[i], k = 1; while(t) { if(t & 1) f[k] = tmp; t >>= 1; k++; } ans = Max(ans , tmp); } printf("%d\n",ans); return 0;}
0 0
- 【BZOJ4300】绝世好题
- 【bzoj4300】【绝世好题】
- BZOJ4300 绝世好题
- 【bzoj4300】绝世好题
- [BZOJ4300] 绝世好题
- [BZOJ4300]绝世好题
- bzoj4300 绝世好题
- [BZOJ4300]绝世好题
- 【bzoj4300】绝世好题
- bzoj4300 绝世好题
- 【bzoj4300】绝世好题
- bzoj4300: 绝世好题
- BZOJ4300 绝世好题
- BZOJ4300 绝世好题
- bzoj4300 绝世好题
- BZOJ4300 绝世好题
- 【bzoj4300】绝世好题 二进制
- bzoj4300: 绝世好题 - DP
- 第八届山东ACM(青科之行)赛后总结以及关于ubuntu系统下 codeblocks 和java 的安装和获取root权限
- Linux网络编程[UDP客户端服务器的编程模型]
- Java用QRCode的方式生成二维码
- 打印GC log
- 剑指offer 20. 顺时针打印矩阵
- BZOJ4300 绝世好题
- linux 的nat连接模式和桥接连接模式的网络设置
- 贪心算法基础之完美字符串 51nod 贪心总结
- Linux 串口编程
- mysql group by and max
- android studio运行NDK实例
- 数据在计算机中的存储形式和运算
- OpenCV(一) Mat数据结构--最基本的图像处理容器
- 【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中