摘要: 赛氪OJ-专注于算法竞赛的在线评测系统 (saikr.com) 这题是hduoj 1506的加强版,区别在于宽度不是固定为1了,思路差不多,也是使用笛卡尔树。参考hduoj 1506(笛卡尔树) - Venux - 博客园 (cnblogs.com) 1 #define IO std::ios::s 阅读全文
posted @ 2024-05-25 22:24 Venux 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Problem - 1506 (hdu.edu.cn) 题意 坐标轴给定一些矩形,紧密排在一起,每个矩形宽度固定为1,问形成的图案中最大可以组成的矩形面积。 思路 常规思路是可以用单调栈分别找两边的合法边界,这里使用笛卡尔树。笛卡尔树实现了堆的性质,并且对原数组建立的笛卡尔树进行中序遍历为原数组的顺 阅读全文
posted @ 2024-05-25 21:55 Venux 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 3117. 划分数组得到最小的值之和 - 力扣(LeetCode) 思路 对于这种划分区间段的问题,通常我们可以先考虑dp,dp[i][j]表示第i个num数作为第j段最后一个元素得到的前j段的最小和。用二分去查找合法区间的左右端点,因为m最大为10,考虑使用10颗线段树(用RMQ也可以)去维护区间 阅读全文
posted @ 2024-05-25 00:09 Venux 阅读(19) 评论(0) 推荐(0) 编辑