「考试」省选25

其实貌似T1挺简单的结果我(CE)了?。。。

T1
CE的原因是编译超时。
100w个string超时了,50w就没超。。。
自闭。

不合法情况是((n,K) ot =1)
根据上下的1位置的坐标和可以知道这件事情。

那么(K^{-1})(mod n)意义下一定存在。
对于第(i)个串我们把:
(frac{i+j}{k})全都变成1.
然后交换(frac{i}{k},frac{i}{k}+1)即可。

T2
对于一条确定顺序的序列。
我们可以直接倒序贪心得到答案。
那么直接比较排序即可。

T3
和三角形那个题差不多。
首先把母矿的矿石价格设为正无穷。
考虑一个操作。
两个部分。花费和收益。
收益是矿石价格-花费。
如果收益是正数我们就把它加入(set)
那么对于一堆收益是正数的我们肯定按照花费小的先处理。
这样预选花费小的。
合并到其父亲所存在的连通块中。
注意我的算法并不是按照树上dfs序来做的。
所以不一定在任何时刻已经处理的节点是联通的。
正因为如此,我们先把最优秀的节点加入其父亲所在的已处理的连通块中即可。
这样可以加强其父亲的优秀程度。
同时对于每个节点维护一下历史最大代价即可。
每个节点操作两次。
复杂度是:(O(nlogn))的。

原文地址:https://www.cnblogs.com/Lrefrain/p/12327625.html