摘要: Solution1 Solution 2 阅读全文
posted @ 2019-10-04 21:29 Coder_cjh 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 这一题写的时候也是懵逼的,想到了大概思路 首先的操作肯定是处理出以 ii 为结尾的最长连续上升序列 那么接下来最朴素的算法可以达到 O(N^2) 有没有更快的做法? 考虑我们枚举的是前 ii 项,那么有些很明显无用的东西被重复枚举了 如果 a[i]>a[j] 并且 g[i]<=g[j] ,那么选 i 阅读全文
posted @ 2019-10-04 19:51 Coder_cjh 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 这道题我用了扫描法,悬线法还没有填坑 首先想到尽量减少枚举量,也就是尽量让每个矩形都是有意义的,那么只有障碍点边缘有价值,所以只需要从左到右扫描一遍,得到的全部都是有意义的。 那么这种方法是否还有遗漏呢? 答案是肯定的 因为我们从左到右搜,肯定是以左边为准线,那么如果一直延伸到右边,那么如果是右边延 阅读全文
posted @ 2019-10-04 19:29 Coder_cjh 阅读(196) 评论(0) 推荐(0) 编辑
摘要: Step 1 首先考虑链状的情况,也就是链状 ++++++++ ++++++++ P.S : ++ 表示使用的子段 可以考虑用中途相遇法,用 g[i] 表示以 ii 为结尾分界线,之前最大子段和, 以 h[i] 表示以 ii 为结尾分界线,之后最大子段和 那么答案也就是 g[i]+h[i+1] (不 阅读全文
posted @ 2019-10-04 17:42 Coder_cjh 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Solution Step 1 考试的时候SB想到了异或…… 首先复杂度肯定是线性,否则无法满足。 Step 2 区间操作,考虑转为差分,变成单点操作。 那么如果 s=e ,就是普通的差分 如果不是,也就是差分数组每次加上同一个数,考虑维护差分数组的差分数组。 每次加上公差,最后统计。 修改 O(1 阅读全文
posted @ 2019-10-04 11:44 Coder_cjh 阅读(186) 评论(0) 推荐(0) 编辑