BZOJ2616 SPOJ PERIODNI(笛卡尔树 + DP)
题意
N,K≤500,h[i]≤106N,K\le 500,h[i]\le10^6N,K≤500,h[i]≤106
题解
建立出小根堆性质的笛卡尔树,于是每个节点可以代表一个矩形,其宽度为子树大小,高度为该节点记录的那一列高度-父节点那一列高度。
然后就可以随便DP了。
如果不会笛卡尔树,看看这张图,再看看代码就懂了(简单的笛卡尔树)。
代码
#include <bits/stdc++....
原创
2019-10-13 20:06:21 ·
201 阅读 ·
0 评论