集训以来第一次像今天一样有点点状态,难能可贵哈。总体感觉对我这种蒟蒻来说真的算好了。
做的是B组的题。
附上考试链接:http://120.77.82.93/senior/#contest/problems/2832
考试时 第一题看一眼不会直接交个暴力水60 orz..
第二题看到了这个:70%的数据N<=100
嘿嘿这不白送70分吗。但是想了一想还是认真打线段树吧,毕竟一直当水怪也不太说得过去..还好ac了。
做到第三题已经没多少时间了,水也不能水了(我怎么会说是因为自己没学过图论),提交不能。
第四题看一眼之后觉得可能要证明周期性(??),之后又觉得肯定不会辣么水啊。所以草草打了个朴素到不行的暴力,tle拿三十分。
考试后 第一题就没什么人用正解做对的(尬住)。
有的人用O2优化a了,也有的O(n^3)竟然过了。。
看来是纪中评测机的锅。。
正解应该是用O(n^2)遍历每两点间的斜率,按正负分成两个堆,然后用O(logn)级别的查找匹配斜率。
第二题确实是用线段树。我的做法是每个单元里存它所囊括的区间里的:数的个数之和sum、所有数中的最小值min和最大值max.这样一来,你可以用O(logn)找到需要排序(丢弃)的数min或max,并有选择的把答案加上那个同一父节点的、你所放弃查找的区间里的sum.
第三题。。这次竟然没有大佬写题解诶。贝尔福德曼算法也要O(n^3),我跪了。
详细的话,可以去了解一种叫仙人掌的数据结构
就罗列一下知识点⑧。边权转点权思想、树DP或tarjan双联通分量
第四题,听了别人讲了讲我可以断定这是一道数学题了。
可能需要用到快速幂,矩乘,费马小定理。
尽管我状态挺好,今天的题也是完全没有水分的呢!(棒读
还是好好努力的为好。
附: