2004-2005 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2004)

本文回顾了CodeForces的一次竞赛经历,详细解析了D题CityGame的解决方案,采用悬线法求最大非1子矩阵,并通过单调栈进行扫描。分享了竞赛心得与技巧,对于算法竞赛爱好者具有一定的参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

转载于:https://www.cnblogs.com/Inko/p/11441451.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值