绝世好题 BZOJ
来源:互联网 发布:淘宝手机上如何开网店 编辑:程序博客网 时间:2024/04/29 00:15
题目传送门
思路:这个题如果用O(N^2)的算法的话会超时,所以我们可以对每一个数字的每一位数字进行操作,这样可以在O(N*logN)的时间复杂度中完成。
#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#include <set>#include <stack>#include <string>#include <vector>#define MAXN 100010#define MAXE 40#define INF 0x7ffffff#define MOD 100003#define LL long long#define ULL unsigned long long#define pi 3.14159using namespace std;LL arr[MAXN];int f[MAXE];int main() { std::ios::sync_with_stdio(false); int n; cin >> n; for (int i = 0; i < n; ++i) { cin >> arr[i]; } int max_length = 0; memset(f, 0, sizeof(f)); for (LL i = 0; i < n; ++i) { int sum = 0; for (LL j = 0; j <= 30; ++j) { if (arr[i] & (1LL << j)) { sum = max(sum, f[j] + 1); } } for (int j = 0; j <= 30; ++j) { if (arr[i] & (1LL << j)) { f[j] = max(sum, f[j]); } } } for (int i = 0; i <= 30; ++i) max_length = max(max_length, f[i]); cout << max_length << endl; return 0;}
阅读全文
0 0
- 绝世好题 BZOJ
- 【bzoj 4300】绝世好题
- 【BZOJ】4300 绝世好题
- BZOJ 4300: 绝世好题
- BZOJ 4300 绝世好题
- BZOJ P4300: 绝世好题
- 【bzoj 4300】绝世好题
- bzoj 4300: 绝世好题
- BZOJ 4300 绝世好题 递推
- BZOJ 4300 绝世好题 动态规划
- BZOJ 4300(绝世好题-dp)
- 【递推】BZOJ 4300:绝世好题
- [BZOJ 4300] 绝世好题 · 乱搞
- BZOJ 4300: 绝世好题【DP
- 【54.38%】【BZOJ 4300】绝世好题
- bzoj 4300 绝世好题(dp)
- BZOJ 4300 绝世好题(DP)
- BZOJ 4300 绝世好题 dp
- okhttp LoggingInterceptor.java拦截器
- Python读取贴吧信息
- Kakfa-SASL身份验证登陆
- 浅谈JVM(一)——JVM内存模型
- 【Struts】ValueStack对象
- 绝世好题 BZOJ
- Java——文件的续写
- 清空数据库日志
- 双链表实现
- python高效编程技巧4(如何根据字典中值的大小,对字典的项进行排序)
- DC 时序约束
- angularJs中的工厂服务
- 在谷歌chrome浏览器上插件上安装jsonview显示json格式数据
- LeetCode week 5 : Assign Cookies