传送门

显然的 $dp$

设 $f[i]$ 表示点击第 $i$ 个音符时的最大价值,$t[i]$ 表示音符 $i$ 的准备时间

那么可以枚举 $1$ 到 $i-t[i]$ 的所有音符,如果  $j$ ,如果 $j+t[j]$ 小于等于 $i$ ,那么 $f[i]=max(f[i],f[j]+t[i]*val[i])$

考虑优化转移

显然如果 $i$ 在时间 $k$ 时可以转移,那么后面所有的时间也都能转移

考虑用树状数组维护前缀最大值,用 $vector$ 维护时间 $k$ 时恰好可以转移的 $f$

那么每次到一个位置就把可以转移的 $f$ 插到树状数组,然后查询最大值转移

复杂度 $O(nlog_n)$,注意 $long\ long$

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
using namespace std;
typedef long long ll;
inline int read()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); }while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }return x*f;
}
const int N=1e6+7;
int n,t[N],val[N];
ll T[N],f[N],ans;
inline void ins(int x,ll y) { while(x<=n) T[x]=max(T[x],y),x+=(x&-x); }
inline ll query(int x) { ll res=0; while(x) res=max(res,T[x]),x-=(x&-x); return res; }
vector <int> v[N];
int main()
{freopen("fc.in","r",stdin);freopen("fc.out","w",stdout);n=read();for(int i=1;i<=n;i++) t[i]=read();for(int i=1;i<=n;i++) val[i]=read();for(int i=1;i<=n;i++){int len=v[i].size();for(int j=0;j<len;j++) ins(v[i][j], f[v[i][j]] );f[i]=1ll*val[i]*t[i]+ (i>t[i] ? query(i-t[i]) : 0);if(i+t[i]<=n) v[i+t[i]].push_back(i);ans=max(ans,f[i]);}printf("%lld",ans);return 0;
}

转载于:https://www.cnblogs.com/LLTYYC/p/10490457.html

「2019冬令营提高组」全连相关推荐

  1. 福利 | 送你一张通往「2019 AI开发者大会」的门票

    2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会.多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家.知名企 ...

  2. 倒计时1天!「2019 Python开发者日」报名即将关闭(附参会提醒)

    「2019 Python开发者日」倒计时最后1天,仅剩少量余票,请扫码咨询 ↑↑↑ 相信很多人听过之前的 Python 进入小学课本.Python 进入浙江省高考等新闻,那么,有这么多头衔加持的 Py ...

  3. NOIP1998-2018 CSP-S2 2019 2021提高组解题报告与视频

    CSP-S 2020 讲题录屏 CSP-S 2020 讲题录屏_哔哩哔哩_bilibili 冠军说题--ACM世界冠军吴卓杰,带你复盘2020 CSP-S2 冠军说题--ACM世界冠军吴卓杰,带你复盘 ...

  4. win10 家庭版 没有「本地用户和组」

    ■経緯 管理工具中,没有[用户管理] ・虽然没有,我们可以使用替代方式查看 --- 命令行中 net user  查看用户 net user userName  查看用户的详细信息 // 在win10 ...

  5. 从「猜画小歌」,谈企业的「数据困惑」该何去何从?

    「猜画小歌」坐拥5000万组大数据,你怎么看? Google很会玩. 当所有做云计算.大数据.手机的厂商在广而告之其先进的技术能力时,通常采用直白宣讲式的说教,落地的东西却很少,听多了也就是过眼烟云. ...

  6. 「CSP」第一届提高组考后总结

    「CSP」第一届提高组考后总结 问题分析+反思 成绩 心态 考前心态 考时心态 考后心态 方法 心灵鸡汤... 在学习了三年之后,我们信竞迎来了初中最后一次大考,也是第一次 CSPCSPCSP 考试. ...

  7. #10025 「一本通 1.3 练习 4」靶形数独P1074 [NOIP2009 提高组]

    [NOIP2009 提高组] 靶形数独 题目背景 此为远古题,不保证存在可以通过任意符合要求的输入数据的程序. 题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们 ...

  8. 倒计时 3 天!「2019 嵌入式智能国际大会」全日程大公开!

    立即抢购:https://t.csdnimg.cn/otBk 还有3天,大伙期待的「2019嵌入式智能国际大会」正式开幕了! 2019年12月6日-7日,我们在深圳市人才研修院见! 大会以" ...

  9. 8.3折特惠票仅剩3天!「2019 嵌入式智能国际大会」全日程大公开!

    8.3折特惠票仅剩3天 立即抢购:https://t.csdnimg.cn/otBk 还有5天,大伙期待的「2019嵌入式智能国际大会」正式开幕了! 2019年12月6日-7日,我们在深圳市人才研修院 ...

最新文章

  1. 关于云计算 你所知道的可能不是真的
  2. Navicat Premium无法连上ORACLE数据库的几种问题解决方法
  3. 软件测试 图覆盖,软件测试(四)——图覆盖
  4. 面试题整理9 连续子数组的最大和
  5. 5行代码帮你梳理EOS.IO的脉络
  6. mysqld --initialize --console失败_超详细的mysql awr监控系统系统搭建教程--第一部分...
  7. LRU和LFU的区别
  8. Python yield generator
  9. 普华永道计算机在线测评题库,普华永道笔试题及经验
  10. PCL RANSAC点云配准
  11. 迅为IMX6ULL开发板Linux系统移植-NXP官方Linux源码编译
  12. dell保修(dell保修多久)
  13. Python数据结构与算法(17)---归并排序
  14. mysql数据库character_关于MySQL如何修改character
  15. 隆重揭晓 | Google Play 2018 年度大赏,中国开发者再领风骚
  16. CWnd与HWND的区别与联系(相互转换)完全解析
  17. Python .format()函数使用方法
  18. 待办-9月7号-11号(month9week2)
  19. 错误: Unable to find explicit activity class ...have you declared this activity in your AndroidMa
  20. 微信小程序上传体验版并邀请其他人测试体验(小程序的发布上线)

热门文章

  1. zookeeper客户端练习(idea-Junit测试)
  2. 【牛客 - 297D】little w and Exchange(上下界贪心)
  3. 【CodeForces - 334B】Eight Point Sets(水题模拟,有坑)
  4. CS231n(1):图片分类笔记与KNN编程作业
  5. layui下拉框往上显示跟往下显示_牛肉价格持续攀升,潮汕牛肉火锅下月或将调涨了...
  6. finereport文本框如何实现多值查询_如何实现参数级联查询
  7. 无法开启计算机,Win7下鼠标右键无法开启计算机属性怎么办?
  8. w3cschool php 调整图片尺寸,PHP_php修改上传图片尺寸的方法,本文实例讲述了php修改上传图 - phpStudy...
  9. 腾讯云服务器数据盘买多了,腾讯云Windows云服务器数据盘分区和格式化
  10. mp4v2 写mp4 java_使用mp4v2将H264+AAC合成mp4文件