acm题解总结(1)

我的acm生涯即将告一段落,现在将近一年来的学习经验和体会做一下总结。

POJ:http://acm.pku.edu.cn/JudgeOnline/

不错的题库,人气很高,自从ZOJ挂掉之后好像有更多的人到这里做题:)

1000:基本上每个OJ都有的题目,用来熟悉系统。

1001:第一次遇上高精计算,当时想了一个比较烦的算法,还wa了n次,不过算法还是蛮严密的:) 比较容易出错的地方是要去掉多余的零。

1002:简单的字符处理。我的做法是将所有号码依题意转化成7位的整数,然后排序统计结果输出。代码有点烦,写了一百多行-_-b,现在实现估计四五十行就足够了。

1003:注意数据规模比较小,因此是简单题,第一次遇到浮点精度问题,又wa了好几次:(

1004:这题当时是在ZOJ做的,后来拿到POJ上提交,求一下平均数就可以了,注意舍入。

1005:一开始不理解题意,想了n久才搞明白是简单的几何题:P

1006:当时的方法还是不错的,利用中国剩余定理解同余方程。代码就十多行,效率也很高:)

1007:规模很小,直接统计排序即可(当时甚至用了插入排序)

1008:学会了用map,将字符串映射成整数。

1012:Joseph问题的变种,第一次遇到超时卡了四,五次,后来一气之下打表直接输出0ms过了,当时觉得很无耻,结果一看status居然都是0ms,再后来找到标程居然也是打表……巨汗…… -_-b  这题的算法其实不难,直接模拟就能过,根据问题的特殊性要做适当的剪枝。

1013:这题是后来过的,当时觉得很难,后来发现是简单的枚举……

1016:直接模拟就行了。

1017:简单的贪心,也是后来过的,代码才十多行。

1018:简单的贪心+搜索:将某一设备的带宽假定为最小带宽,然后再计算。为了求出最优解,要枚举所有种类的设备。时间复杂度比较高,但是剪枝后还是可以接受的。的据说这题还有O(n)的算法,还没想到。

1019:不错的组合计数问题,一开始接触acm时就尝试了这题结果没做出来,暑假的时候过了——公式+ 二分。先分段处理再组合起来即可。

1022:很早以前做的,当时只是对题目很感兴趣,就去尝试了一下,临时学了并查集用上去,结果居然让我一次ac!!开心了很久~~ :D 现在看来这题其实并不难,但是做的人却很少,估计是看到题目那么长,还有什么四维立方体之类的就吓住了。其实只要用三维空间的立方体类比一下,就可以很快得出答案了。判断两个固件是否连通可以用并查集。为了将一个四维的固体用超立方体包裹,只要找出其四个方向的“最长距离”就可以了。还有可以将超立方体的八个体分别抽象成八个点,这样比较容易直观处理。

1026:很简单的模拟题,但是wa了n次,郁闷了一个晚上,第二早上才发现数组开的太小!从此得到两点经验:1。只要内存限制允许,内存就开个数据规模的10倍20倍也无妨。2。不要在晚上1点后做题!

1028:也是简单的模拟题,先在ZOJ上过的后来拿过来提交。

1039:比较经典的枚举——先证明最长的光线必定经过折点。然后枚举每组顶点,判断改组顶点确定的直线是否穿过管道。注意题目的一个trick:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ACM Codebook(ACM代码手册)是一本整理了算法竞赛常用算法和数据结构的参考手册。它是为了帮助算法竞赛选手快速查阅各种算法和数据结构的实现而编写的。 ACM Codebook的内容非常丰富,包括了各种常用算法,如排序算法、图论算法、动态规划算法等。同时,它还包含了各种常用数据结构的实现,如链表、栈、队列、堆等。此外,ACM Codebook还介绍了一些常见的算法设计技巧和优化技巧,帮助选手更好地解决问题。 ACM Codebook的作用非常明显,首先它提供了各种算法和数据结构的实现代码,方便选手直接复制粘贴使用,节省了编写代码的时间。其次,ACM Codebook提供了详细的算法和数据结构的说明和示例,帮助选手理解和掌握这些算法和数据结构的原理和用法。最后,ACM Codebook还提供了一些常见问题的解决方案,帮助选手快速解决问题。 ACM Codebook的编写并不容易,需要作者具备扎实的算法和数据结构基础,并且对算法竞赛有深入的了解。编写ACM Codebook需要不断地修改和更新,以适应算法竞赛中不断变化的需求。 总之,ACM Codebook是一本非常有用的参考手册,它不仅提供了丰富的算法和数据结构的实现,还提供了对应的说明和示例,帮助算法竞赛选手快速掌握和应用这些算法和数据结构。它是算法竞赛选手在比赛中必备的工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值