https://codeforc.es/gym/101461
5题结束了,可能是只打了3个小时吧。要是E试试Java8去用高精浮点二分,或者坚持读下来发现F是个割点模板题?以后可能远古场还是不打了,要拉2015年以内的。
D - City Game
悬线法求最大非1子矩阵,根据up[i][j]=(g[i][j]==0)?0:up[i-1][j]+1预处理出悬线。然后每一行用单调栈扫。注意悬线法,某个元素被弹出之后,弹出他的元素会继承他的管辖范围!所以当时的办法是弄两个栈,一个栈存单调递增的悬线下标,另一个栈存对应的管辖范围,每次初始化管辖范围从j开始,准备弹出st1的栈顶时,从st2的栈顶继承它的j。
比如试试这个:
1
3 6
R F R F R F
F F F F F F
F F F F F F
本文回顾了CodeForces的一次竞赛经历,详细解析了D题CityGame的解决方案,采用悬线法求最大非1子矩阵,并通过单调栈进行扫描。分享了竞赛心得与技巧,对于算法竞赛爱好者具有一定的参考价值。
605

被折叠的 条评论
为什么被折叠?



