E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ3594
【二维树状数组优化dp】[Scoi2014]
bzoj3594
方伯伯的玉米田
终于方伯伯系列就只差逛商场了(两天的压轴题是人能做的?)这道题记得当时我去省选的时候还把n^2的算法写出来了的……现在想想真不容易==状态很好定义dp[i][j]表示已经处理完i根玉米拔高了j次剩下的玉米的最大值我去省选的时候想的转移是这样的(其实我不确定)dp[i][j]=max(dp[i-1][j],dp[k][j-1])(a[k]-a[i]==i)应该还有些乱七八糟的优化?反正总之n^2那1
MoeO3
·
2020-08-23 02:41
动态规划
偏序关系与dp
BZOJ3594
(二维树状数组)
传送门偏序关系二维树状数组这个题用dp[i][j]表示前i个数,以h[i]结尾,用了j次修改,最长的非递减序列。但是这样直接dp的话如下for(inti=1;i=h[a])dp[i][j]=max(dp[i][j],dp[a][b]+1);}}}}会超时。这个题巧妙的利用偏序关系,用二维树状数组将时间优化到n*k*logn*logk。如果可以转移的话必须要满足h[i]+j-b>=h[a]的条件,也
__meteor
·
2018-08-22 20:43
dp
各种板子
树状数组
bzoj3594
方伯伯的玉米田 动态规划+树状数组
不知道为什么1个log比2个log还要慢。。。(bzoj真是鬼畜评测) 可以发现如果在最优方案中,存在一个拔高区间[l,r]且r #include usingnamespacestd; intn,m,mx,f[10005][505],a[505][5505],b[5505][505],x[10005]; intqry(intx,inty){ intans=0,i; for(i=y;i
lych_cys
·
2016-03-29 14:00
动态规划
树状数组
【
bzoj3594
】 SCOI2014方伯伯的玉米田 dp+二维树状数组优化
好像蛮神的,一开始没有发现那个结论,结果都dp方程推得乱七八糟的。每一次增加操作的区间右端点都应该为n,为什么呢?我们考虑如果对中间一段进行操作,那么对答案的影响是前面一段对当前段的答案增加,而当前段对后面一段的答案减少;而右端点取到n的话,对于前面增加的部分没有影响,后面并不会有减小的影响了,所以右端点取到n肯定是最优的。然后我们就可以dp了,dp方程挺显然的:dp[i][j]表示前i个数用了j
u012288458
·
2015-10-19 17:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他