Atcoder dp_q Flowers 数据结构优化dp
文章目录
- 题意
- 题解
最近在练习atcoder上的dp场,大概只会做一半.我选出一些不会的题目写一下博客.
题意
按顺序每朵花有一个高度,一个美丽度,选出一个高度上升的子序列,求美丽度之和的最大值.
题解
令 d p i dp_i dpi表示以第 i i i朵花结尾的子序列的美丽度的最大值.
则转移就是找到 i i i之前比第 i i i朵花矮的位置 d p dp dp的最大值,然后加上第 i i i朵花的美丽度.
直接找的话显然是 n 2 n^2 n2的,显然用线段树或者树状数组等数据结构进行维护就可以变成 n × l o g ( n ) n\times log(n) n×log(n)的了.
代码如下,谢谢大家.
#include<bits/stdc++.h> //Ithea Myse Valgulious
using namespace std;
const int yuzu=2e5;
typedef ll fuko[yuzu|10];
fuko h,a;
struct _bit {fuko c;void upt(int x,ll k) {for (;x<=yuzu;x+=x&-x) c[x]=max(c[x],k);}ll query(int x) {ll zw=0;for (;x;x-=x&-x) zw=max(zw,c[x]);return zw;}
}zw;int main() {int n=read(),i;for (i=1;i<=n;++i) h[i]=read();for (i=1;i<=n;++i) a[i]=read();for (i=1;i<=n;++i)zw.upt(h[i],zw.query(h[i])+a[i]);printf("%lld\n",zw.query(n));
}
Atcoder dp_q Flowers 数据结构优化dp相关推荐
- BZOJ 1592. Making the Grade(思维,数据结构优化DP,以及三个拓展问题)[Usaco2008 Feb]【BZOJ计划】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 BZOJ简单题合集x 目录 BZOJ 1592. Making the Grade 拓展问题一 拓展问 ...
- HDU 4990 Ordered Subsequence --数据结构优化DP
题意:给一串数字,问长度为m的严格上升子序列有多少个 解法:首先可以离散化为10000以内,再进行dp,令dp[i][j]为以第i个元素结尾的长度为j的上升子序列的个数, 则有dp[i][j] = S ...
- 0x58 数据结构优化DP
补写一下 poj3171 设f[i]表示覆盖L~i的最小花费,把区间按左端点排序,枚举区间,f[a[i].r]=min{f[a[i].l~(a[top].r-1)]}+a[i].c (当然还要和原值比 ...
- AW297 赤壁之战(数据结构优化DP)
题目地址 状态设计: f[子序列长度][当前位数](严格递增子序列数量). 易错点: 初始化时需要设置f[0][0]=1. 每个独立的数字都只会影响到比它更大的数字. 预处理时的sort保证了整个算法 ...
- bzoj1233 单调队列优化dp
https://www.lydsy.com/JudgeOnline/problem.php?id=1233 数据结构优化dp的代码总是那么抽象 题意:奶牛们讨厌黑暗. 为了调整牛棚顶的电灯的亮度,Be ...
- dp进阶之FFT加速+数据结构优化+不等式优化
快速傅里叶变换 快速傅里叶变换(英语:Fast Fourier Transform, FFT),是快速计算序列的离散傅里叶变换(DFT)或其逆变换的方法.傅里叶分析将信号从原始域(通常是时间或空间)转 ...
- 【DP】【树状数组】方伯伯的玉米田/优美玉米(luogu 3287/金牌导航 数据结构优化DP-5)
正题 luogu 3287 金牌导航 数据结构优化DP-5 题目大意 有n个玉米,给出高度,你可以选择一个区间,使这个区间的玉米高度+1,你可以进行k次这样的操作,查询你操作完后最长不下降子序列最大值 ...
- 【DP】【树状数组】免费馅饼(luogu 7302/金牌导航 数据结构优化DP-4)
正题 luogu 7302 金牌导航 数据结构优化DP-4 题目大意 在坐标轴上会出现n个金币,第i个金币tit_iti时在wiw_iwi出现(只出现一个单位时间),价值为sis_isi,当你t ...
- 【DP】【树状数组】折线统计(金牌导航 数据结构优化DP-1)
正题 金牌导航 数据结构优化DP-1 题目大意 平面上有n个点,让你选择若干点,连接x坐标相邻的点,其中连续上升或下降的为一段,问你有多少中选择方案,使得段数为k 解题思路 设fi,j,0/1f_{i ...
最新文章
- 2程序员面试,这200行代码,结果工资相差了8000
- 逻辑网拓扑和物理网拓扑——微云网络
- 02_pandas获取数据(指定列获取、[]方式获取、loc函数,at函数, iloc函数 iat函数)
- 怎么把丢失的计算机放回桌面,不小心把电脑桌面开始哪里放在右边了,怎么把它放回原处啊...
- MVC5+EF6 入门完整教程 总目录
- mongodb环境安装
- centos7.x设置nginx开机自启动
- iframe 滚动条不显示_HTML基础教程:Iframe的用法
- Android系统(74)--- 从零实现灵活且可高度定制的Android图片选择架构
- Android4.2中Phone的P-sensor的应用的分析。
- Android路由设置
- 创业公司失败的20大原因 没市场需求排第一
- 一网打尽位图与矢量图
- cad放大_如何把CAD图纸转为高清图片?教你两种方法,小白也能轻松学会
- python3.x中如何使用base64、base32、base16编码解码
- 一些优秀的源码开源网站
- 台式计算机diy,自己组装DIY台式电脑知识
- ubuntu系统克隆
- mysql的ndb引擎_NDB Cluster (分布式存储引擎)存储引擎简单简介及Mysql cluster的实现...
- 计算机工资表2017,薪级工资对照表2017年最新
热门文章
- The Recent plan(三)
- 我爱你,从此与你无关···
- 基于ssm框架的人才招聘网站
- CTP的三次握手和四次断开
- 率土服务器维护多久,率土之滨手游出来多久了,守城的伤兵多久恢复
- 作为技术人,我们能为世界做些什么?
- [2020世界机器人大赛] BCI脑控机器人技术赛主流算法讲座-运动想象主流算法笔记
- 深度测试和Z缓存专场
- Python学习——02-Python基础——【8-面向对象的程序设计】——静态、组合、继承...
- 2006 CCF NOIP普及组复赛 第1题:明明的随机数 <- 桶排序