BZOJ 4300: 绝世好题( dp )
生活随笔
收集整理的這篇文章主要介紹了
BZOJ 4300: 绝世好题( dp )
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
dp(i)表示二進(jìn)制的第i位為1時(shí)的最大值, 然后從左到右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 MBSubmit:?274??Solved:?168
[Submit][Status][Discuss]
Description
給定一個(gè)長度為n的數(shù)列ai,求ai的子序列bi的最長長度,滿足bi&bi-1!=0(2<=i<=len)。Input
輸入文件共2行。第一行包括一個(gè)整數(shù)n。第二行包括n個(gè)整數(shù),第i個(gè)整數(shù)表示ai。Output
輸出文件共一行。包括一個(gè)整數(shù),表示子序列bi的最長長度。Sample Input
31 2 3
Sample Output
2HINT
對于100%的數(shù)據(jù),1<=n<=100000,ai<=10^9。
Source
By Oxer
?
轉(zhuǎn)載于:https://www.cnblogs.com/JSZX11556/p/4902301.html
總結(jié)
以上是生活随笔為你收集整理的BZOJ 4300: 绝世好题( dp )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当电桥为恒流源时惠斯通电桥电压的计算方法
- 下一篇: 磁盘怎么找回 磁盘数据丢失怎么办