摘要:
P3157 [CQOI2011]动态逆序对 CF785E Anton and Permutation P1975 [国家集训队]排队 三合一,算法一致,都被我用树套树卡过去了。 #include <iostream> #include <cstring> #include <cstdio> usin 阅读全文
摘要:
P4393 [BOI2007]Sequence 序列问题 这是我做过最水的蓝题,容易发现,对于任意三个柱子,考虑两个情况。 单调增/减,答案是最高的+次高的。 高/低/次高 或 次高/低/高 那么我们坑定选择把低的和次高的合并再和高的合并。答案还是次高+最高。 所以答案就是 \(\displayst 阅读全文
摘要:
P3522 [POI2011]TEM-Temperature 直接set维护就好了,不知道我为啥写单调队列。 移动头指针的条件当然是在set里元素 \(l\) 的最大值大于当前元素的 \(r\) 了,边移边取 \(\max\) 就行 #include <algorithm> #include <io 阅读全文
摘要:
P3623 [APIO2008]免费道路 WQS二分题解。(好像可以不用这个做法) 就是给每个点随一个权值,然后跑正常的WQS二分。 \(l, r\) 可以是浮点数。 时间 \(O(n \log^2n)\) #include <algorithm> #include <iostream> #incl 阅读全文
摘要:
CF437D The Child and Zoo 首先你需要语文水平。 就是找到 \(u \rightarrow v\) 所有简单路径上的最小值的最大值。即最大生成树。。。 容易发现,经过一条边必然经过其两端的点,所以我们可以设边权为 \(val_{u,v} = \min(a_u, a_v)\) 然 阅读全文
摘要:
CF505D Mr. Kitayuta's Technology 一道结论题。 记 \(M\) 个询问中提及的点数为 \(cnt\), 记这些点按照询问形成图的联通块个数为 \(K\),第 \(i\) 个联通块大小为 \(siz_i\)。 对于每个联通块,容易发现边数不是 \(siz_i-1\) 就 阅读全文
摘要:
CF1032G Chattering 容易发现,这道题用倍增。(秒掉题目算法,被实现卡掉。。。) 再撕烤,是区间跳区间,那么其实更新的是端点,那么维护什么就很显然。 用ST表维护一个从当前点开始 $2^i$ 秒能跳到的左右端点,再用一个ST表维护一个区间内能跳到的左右的最远点,然后用后者更新前者。 阅读全文