上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 70 下一页
摘要: Recursive Queries 刚开始把最大位置看成最大值, 我想这怎么写啊。。。 如果是最大位置的话, 我们能计算区间内每个值作为最大值的贡献, 然后拆成右边边第一个比它大的下标减去左边第一个比它大的下标, 然后离线之后就可以树状数组维护了。 阅读全文
posted @ 2019-05-13 20:29 NotNight 阅读(115) 评论(0) 推荐(0) 编辑
摘要: Fire in the City 二分答案, 用扫描先加线段树去check 阅读全文
posted @ 2019-05-13 16:56 NotNight 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Superhero's Job 首先要看出来是个积性函数, 我这个都没看出来, 我好菜啊。 看出来之后随便dp一下就好了。 阅读全文
posted @ 2019-05-12 01:50 NotNight 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 首先肯定是将老鼠和洞都排好序, dp[ i ][ j ] 表示处理了 前 i 个洞, 进去 j 只老鼠的最小距离和, 很明显处理先处理靠前的老鼠。 然后观察一下这个dp, 发现它满足决策单调性, 然后直接上了个分治, 然后 T 了。 然后继续观察了半天, 发现对于, dp[ i - 1 ][ 0 ] 阅读全文
posted @ 2019-05-09 20:08 NotNight 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Parcels 感觉很巧妙的题呀。。 没想到转移的时候也需要一个dp, 就怎么算怎么感觉复杂度不对。。 dp[ i ][ s ] 表示 i 作为最底层的块, 它上面最多能放重量为 s 的最优值。 我们将包裹先按R小排, 再按L大排, 这样对于 i 这个包裹来说, 能放在它上面的都在它左边。 对于dp 阅读全文
posted @ 2019-05-09 14:57 NotNight 阅读(183) 评论(0) 推荐(0) 编辑
摘要: World of Darkraft - 2 每个武器可以独立考虑贡献, 我们算单个武器的贡献。 考虑最朴素的dp, dp[ i ][ j ] 表示当前还有 i 个怪没有打, 当前的武器等级是 j 最后获得硬币的期望。 这显然是个n ^ 2的dp, 但是通过观察我们能发现, j 达到很大的概率非常小, 阅读全文
posted @ 2019-05-08 19:40 NotNight 阅读(180) 评论(0) 推荐(0) 编辑
摘要: Periodical Numbers 我们先按长度分类对于当前处理的长度k, 我们令 F[ i ] 为有长度为 i 的循环节的方案数。 然后容斥出f[ i ] 表示最小循环节是 i 的方案数, 然后加起来。 阅读全文
posted @ 2019-05-08 18:13 NotNight 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Positions in Permutations 先dp出选 k 个的方案数, 这个很简单, dp[ i ][ j ][ u ][ v ]表示到 i 为止选了 j 个, i - 1的选取情况是 u, i 的选取情况是 v 的方案数。 然后最后容斥一下, 容斥系数是 C(i, k)。(虽然我不会证明 阅读全文
posted @ 2019-05-08 11:20 NotNight 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Delivery Club 首先二分答案, 我们考虑dp去check 我们可以发现所有状态要从两个点在 i 和 i - 1转移过来。 所以我们令dp[ i ] 表示 能否到达两个快递员在分别 i 号点 和 i - 1号点的状态。 转移就是把在 i 号位置的快递员不断地往后移, 如果能移到 j && 阅读全文
posted @ 2019-05-08 00:02 NotNight 阅读(261) 评论(0) 推荐(0) 编辑
摘要: Connecting Vertices 这种题就是看一眼就知道区间dp, 写一天也写不出来。。 f[ i ][ j ]表示区间[ i, j ] i 和 j 连边所构成的方案数。 g[ i ][ j ]表示区间[ i, j ] i 和 j 不连边所构成的方案数。求g 的时候枚举 j 和 k (并且这个 阅读全文
posted @ 2019-05-07 19:29 NotNight 阅读(242) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 70 下一页