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
  • 相关阅读:
    VMware6.0-vCenter的安装准备及安装
    VeeamBackup9.5安装与配置
    VeeamOne(Free Edition 9.5 )-安装与配置
    UIDatePicker
    UIImagePicker照片选择器
    UIImageView
    UILabel
    UIScrollView 期本使用方法
    UISegment
    UISlide
  • 原文地址:https://www.cnblogs.com/czy-power/p/11257671.html
Copyright © 2011-2022 走看看