码迷,mamicode.com
首页 > 其他好文 > 详细

「考试」省选25

时间:2020-02-18 20:32:37      阅读:22      评论:0      收藏:0      [点我收藏+]

标签:rac   dfs   span   简单的   简单   节点   三角形   坐标   历史   

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

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

不合法情况是\((n,K)\not =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)\)的。

「考试」省选25

标签:rac   dfs   span   简单的   简单   节点   三角形   坐标   历史   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!