BZOJ-4300 绝世好(蛋疼)题 DP(递推)
生活随笔
收集整理的這篇文章主要介紹了
BZOJ-4300 绝世好(蛋疼)题 DP(递推)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
翻zky學長的blog時翻出來的.....
4300: 絕世好題
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 736 Solved: 393
[Submit][Status][Discuss]
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
對于100%的數據,1<=n<=100000,ai<=10^9。
Source
By Oxer
記錄每一位長度的最大值,每讀一個數更新最大值即可
沒想到這題這么蛋疼.....附上代碼:
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int f[50]; int n; int x; int ans; int tmp; int main() {scanf("%d",&n);for (int i=1; i<=n; i++){scanf("%d",&x);tmp=0;for (int j=0; j<=30; j++)if (x&(1<<j))tmp=max(tmp,f[j]+1);for (int j=0; j<=30; j++)if (x&(1<<j))f[j]=max(f[j],tmp);}for (int i=1; i<=30; i++)ans=max(ans,f[i]);printf("%d\n",ans); return 0; }轉載于:https://www.cnblogs.com/DaD3zZ-Beyonder/p/5346214.html
總結
以上是生活随笔為你收集整理的BZOJ-4300 绝世好(蛋疼)题 DP(递推)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态规划算法的应用模型
- 下一篇: ios开发网络学习:一:NSURLCon