Java 实现了一个分解强连通分量算法及其中遇到的两个问题
起因是帮兄弟的忙,需要完成一个强连通分量算法。好久没写过这东西了,而且当年玩儿 ACM 时用的还是 C++,现在由于各方面原因需要使用 Java。在这个过程中,遇到了两个问题:无法创建泛型数组 和 递归太深导致栈溢出,再此记录下来。
起因是帮兄弟的忙,需要完成一个强连通分量算法。好久没写过这东西了,而且当年玩儿 ACM 时用的还是 C++,现在由于各方面原因需要使用 Java。在这个过程中,遇到了两个问题:无法创建泛型数组 和 递归太深导致栈溢出,再此记录下来。
12 月 25 日, 沈航 ACM 校赛很开心的举办了,这次比赛有 55 个队伍参加,也邀请了沈阳一些兄弟院校来友谊参赛,最终圆满结束,在这里记录一下每道题的解法。
在此整理了一些ACM比赛中常用的算法模板,不定期更新,都是以前写的,现在看起来有些细节的风格都不一样。
最大连续子数列和一道很经典的算法问题,给定一个数列,其中可能有正数也可能有负数,我们的任务是找出其中连续的一个子数列(不允许空数列),使它们的和尽可能大。我们一起用多种方式,逐步优化解决这个问题。
a % b
是求 a / b
的余数,这种运算叫做模运算,模运算是数论中的一个很重要的内容。