zoukankan      html  css  js  c++  java
  • 干物妹小埋

    链接:https://ac.nowcoder.com/acm/contest/992/B
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

    在之前很火的一个动漫《干物妹小埋》中,大家对小埋打游戏喝可乐的印象十分的深刻。
    现在欧尼酱将小埋的快乐水全部分开藏在了家具的顶端。
    小埋使出空中1080°转身接战术翻滚跳到任一家具上,她相信,只要她翻滚的足够快,欧尼酱就跟不上她。
     
    1.为获取梦幻开局,小埋一套技能可以使她一开始掉落在任一家具上。
    2.小埋家的家具按顺序给出,每个家具可跳可不跳,为避开欧尼酱的追击,小埋翻滚到某个家具上面后,只能向前继续翻滚。
    3.启动超重力感应系统的小埋不会从较高的家具翻滚到较低的家具上。
    4.由于每个家具上的快乐水都有对应的happy值,IQ==250的小埋会选择一条happy值总和最大的路线。
    那么,最终小埋将获得的happy值总和是多少呢?

    输入描述:

    第一行一个整数n(0<n<=200000),表示小埋家的家具数。

    第二行n个整数,对于每个整数ai, 0<=ai<=10^9,表示第i个家具的高度。

    第三行n个整数,对于每个整数vi, 0<=vi<=10^9,表示第i个家具上的快乐水的happy值。

    输出描述:

    一个整数,表示小埋获得的happy值总和。
    示例1

    输入

    复制
    6
    2 1 1 3 3 4
    3 1 1 1 1 1

    输出

    复制
    6

    说明

    路线:2->3->3->4

    答案:3+1+1+1
    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int maxn=2e5+7;
    int n;
    ll c[maxn];
    ll a[maxn],val[maxn],t[maxn];
    ll lowbit(int x){
        return x&(-x);
    }
    ll query(int pos){
        ll cur=0;
        while(pos>=1){
            cur=max(cur,c[pos]);
            pos-=lowbit(pos);
        }
        return cur;
    }
    void update(int pos,ll val){
        while(pos<=n){
            c[pos]=max(c[pos],val);
            pos+=lowbit(pos);
        }
    }
    int main(){
        //freopen("1.txt","r",stdin);
        scanf("%d",&n);
        for(register int i=1;i<=n;++i){
            scanf("%lld",a+i);
            t[i]=a[i];
        }
        for(register int i=1;i<=n;++i){
            scanf("%lld",val+i);
        }
        sort(t+1,t+1+n);
        int cnt=unique(t+1,t+1+n)-t-1;
        for(int i=1;i<=n;++i){
            a[i]=lower_bound(t+1,t+1+cnt,a[i])-t;
        }
        for(register int i=1;i<=n;++i){
            val[i]+=query(a[i]);
            update(a[i],val[i]);
        }
        ll ans=0;
        for(register int i=1;i<=n;++i){
            ans=max(ans,val[i]);
        }
        printf("%lld
    ",ans);
        return 0;
    }
    View Code
  • 相关阅读:
    codevs 2632 非常好友
    codevs 1213 解的个数
    codevs 2751 军训分批
    codevs 1519 过路费
    codevs 1503 愚蠢的宠物
    codevs 2639 约会计划
    codevs 3369 膜拜
    codevs 3135 River Hopscotch
    数论模板
    JXOJ 9.7 NOIP 放松模拟赛 总结
  • 原文地址:https://www.cnblogs.com/czy-power/p/11257671.html
Copyright © 2011-2022 走看看