上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 30 下一页
摘要: CF490F Treeland Tour 给出一棵带点权树,求树上最长上升子序列的长度。(这里指路径) 显然路径直接维护不好维护,于是我们可以考虑拆分,拆成一个点作为顶点的两条路径的拼接。 那么我们可以考虑使用值域线段树来维护当前子树中可以以每一个值作为结尾(或开头)的最长的子段和的大小。 两棵线段 阅读全文
posted @ 2021-04-16 21:19 __Anchor 阅读(82) 评论(0) 推荐(0) 编辑
摘要: P1110 [ZJOI2007]报表统计 动态插入,然后询问相邻差的绝对值最小值的全局值域相邻差的绝对值最小值。 直接分别用两个平衡树维护即可。 题解代码: #include<bits/stdc++.h> #include<ext/pb_ds/assoc_container.hpp> #includ 阅读全文
posted @ 2021-04-16 21:13 __Anchor 阅读(86) 评论(0) 推荐(0) 编辑
摘要: P1822 魔法指纹 首先这个区间询问很明显具有可减性,于是我们考虑求出前缀和即可。 然后考虑具体怎么做。 首先这个对于每一个数的处理明显是 \(O(logV)\) 的。 而且这个是前缀区间,很明显也是可以递推的。 那么考虑分段打表,每次询问再具体暴力即可。 代码: #include<bits/st 阅读全文
posted @ 2021-04-16 21:10 __Anchor 阅读(125) 评论(0) 推荐(0) 编辑
摘要: P1943 LocalMaxima 首先需要推出柿子或者找规律得出:答案就是调和级数。 打表过后发现当 \(n\) 超过 \(10^7\) 的时候保留 8 位的答案都是可以近似 \(0.57721566490153286060651209\) + \(logn\) 。 具体证明见本题题解。 代码: 阅读全文
posted @ 2021-04-16 21:05 __Anchor 阅读(49) 评论(0) 推荐(0) 编辑
摘要: P1662 数7 首先我们可以知道,这样对于每次报数的判定转向是 \(O(logV)\) 的。 然后因为这里的数据范围非常大,并且答案可以递推,我们可以考虑分段打表。 所以我们每 \(10^6\) 一个表,然后相当于最后的询问一定落在一个块里,我们调用块首的答案然后开始接着模拟跳即可。 代码: #i 阅读全文
posted @ 2021-04-16 20:59 __Anchor 阅读(76) 评论(0) 推荐(0) 编辑
摘要: P3645 [APIO2015]雅加达的摩天楼(BFS+根号平衡) 牛逼题,根本不用最短路,直接分析得出: 对于跳跃能力小于 \(\sqrt{n}\) 的,可行的状态只有 \(O(n\sqrt{n})\) 个。 对于跳跃能力大于 \(\sqrt{n}\) 的,最多跳 \(\sqrt{n}\) 次,所 阅读全文
posted @ 2021-04-16 16:15 __Anchor 阅读(192) 评论(0) 推荐(0) 编辑
摘要: P3396 哈希冲突(根号分治) 像这样的题大多可以考虑根号分治,也就是和模数有关的。 我们对于询问的值来分治: 对于小于 \(\sqrt{n}\) 的模数: 说明剩余系也不超过 \(\sqrt{n}\) 个,于是我们可以预处理这样的询问,需要时直接回答即可。 预处理时间复杂度是 \(O(n\sqr 阅读全文
posted @ 2021-04-16 16:13 __Anchor 阅读(73) 评论(0) 推荐(0) 编辑
摘要: P7479 至曾是英雄的您(模拟,连通块) 其实可以围的条件就是:黑棋最多一个“真眼”。 于是考虑什么情况下一个联通块空地成为一个“真眼”:即不存在至少这样的一个点满足其四面都没有黑棋。 那么判断一下再染色,最后看有多少个连通块没有被染色即可。 代码: #include<bits/stdc++.h> 阅读全文
posted @ 2021-04-16 16:11 __Anchor 阅读(86) 评论(0) 推荐(1) 编辑
摘要: P7480 Reboot from Blue(最短路,李超树优化dp) 首先,我们发现,直接建图跑最短路肯定不行,因为这样做会有 \(O(n^2)\) 条边。 那么我们可以考虑减少无用的边。 有这样一个性质:对于一个点,我们发现它只会取到离它左最近或者右最近的比当前点油费小的点。 这是为什么呢?因为 阅读全文
posted @ 2021-04-16 16:10 __Anchor 阅读(72) 评论(0) 推荐(0) 编辑
摘要: CF1503C Travelling Salesman Problem(贪心,势能分析) 首先,每个城市的 \(c_i\) 可以看作是必花的代价。 然后我们考虑对城市进行势能分析:如果海拔增高,势能增加,海拔降低,势能不变。 于是我们考虑额外代价:如果前 \(i\) 个数的 \(a_i+c_i\) 阅读全文
posted @ 2021-04-16 16:08 __Anchor 阅读(80) 评论(0) 推荐(1) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 30 下一页