BZOJ 4300 DP

原创 2018年04月17日 16:09:23

https://www.lydsy.com/JudgeOnline/problem.php?id=4300

一道比较简单的DP题

如果按照经典的DP思维

肯定要超时

这是你如果撕心裂肺的想拿什么去维护的话

只能说明你学数据结构学傻了

直接记录每一位为1的最大值

每次经过一个数字都更新他一发

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const ll N=1e5;
ll A[N+10];
ll DP[50];
int main(){
    ll n;
    cin>>n;
    for(int i=1;i<=n;++i)
        cin>>A[i];
    for(int i=1;i<=n;++i){
        ll x=A[i];
        ll a=0;
        for(int j=0;j<=40;++j){
            if(x&(1<<j)){
                a=max(a,DP[j]+1);
            }
        }
        for(int j=0;j<=40;++j){
            if(x&(1<<j)){
                DP[j]=a;
            }
        }
    }
    ll ans=0;
    for(int i=0;i<=45;++i)
        ans=max(ans,DP[i]);
    cout<<ans<<endl;
}

BZOJ 4300 绝世好题 递推

BZOJ 4300 绝世好题 递推
  • wzq_QwQ
  • wzq_QwQ
  • 2015-10-19 17:12:25
  • 5544

BZOJ 4300 绝世好题 动态规划

题目大意:给定一个序列aa,求一个子序列bb使得bi and bi−1=0b_i\ and\ b_{i-1}=0且|b||b|最大傻逼题。#include #include #include #...
  • PoPoQQQ
  • PoPoQQQ
  • 2015-10-20 14:48:47
  • 2478

【bzoj4300】【绝世好题】

Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2 Input 输入文件共2行。 第一行包括一个整数n。 第二...
  • sunshinezff
  • sunshinezff
  • 2015-10-20 20:11:57
  • 437

bzoj1835(线段树优化dp)

神题啊,好吧,应该是因为我太弱了。。。 设f[i][k]表示到第i个村庄,第i个村庄一定会建基站,已经建了k个基站的最小费用. f[i][k]=min{f[j][k-1]+cost(j+1,...
  • zhhx2001
  • zhhx2001
  • 2016-08-14 12:20:14
  • 518

bzoj 3864 dp套dp

题意:给一个长度为n(n
  • make_it_for_good
  • make_it_for_good
  • 2016-09-12 10:22:21
  • 449

刷dp题神器,各类dp题目总表(挖一个坑以后慢慢做)

题目列表(标*号的为难度较大的题目) 背包 bzoj2287 poj3093 Bzoj2748 *Bzoj2794 *bzoj1190树形 Bzoj4472 Bzoj1864 *Bz...
  • Kamisama123
  • Kamisama123
  • 2017-06-05 19:49:45
  • 670

bzoj 2560: 串珠子 子集dp

虽然我这么弱但做做这种sb题还是没问题的。。。都水了一个早上sb题了还不狗带        令f[i]表示集合为i时的方案数,然后全集减去不合法的就好了。不合法的话可以用一个定点来枚举。时间复杂度O(...
  • lych_cys
  • lych_cys
  • 2016-04-16 09:05:23
  • 941

bzoj 4300(dp)(贪心)

传送门 题解:按位dp,看穿之后就是大水题。对于每一位,如果and起来为1的话就更新答案。但是之后这一步就涉及到贪心思想,对于几个数,如果有一位and起来为1的话,那么它们and起来一定不为0,所以...
  • KGV093
  • KGV093
  • 2017-09-03 16:55:35
  • 134

[BZOJ4565][Haoi2016]字符合并(状压dp)

也许一个人,要走过很多的路,经历过生命中无数突如其来的繁华和苍凉之后,才会变得成熟。...
  • Clove_unique
  • Clove_unique
  • 2016-08-20 16:07:57
  • 1145

bzoj 1559 密码 AC自动机+状压DP

题意 给出n个字符串,求有多少个长度为L的字符串满足每个字符串出现至少一次。字符串仅由小写字母组成。 若方案书 n 分析 首先把重复和被包含的字符串去掉,建立AC自动机。 ...
  • Hawo11
  • Hawo11
  • 2017-08-11 09:36:30
  • 264
收藏助手
不良信息举报
您举报文章:BZOJ 4300 DP
举报原因:
原因补充:

(最多只允许输入30个字)