ACM之坑&套路

这篇博客作者分享了自己在ACM竞赛中遇到的各种问题,包括线段树的空间开销、数值溢出、输出格式错误等,并给出了解决这些问题的建议。还提到了一些特殊的编程技巧,如使用multiset作为堆、位运算优先级的注意点、分治策略的应用等。同时强调了比赛中的心态调整和队友间的配合。
摘要由CSDN通过智能技术生成

写在前边:这些梗都是敝人自己做题和比赛时曾经坑过自己的地方,特别在这里记录一下,所有的链接都是本博客中的题解链接(有大致题意说明和代码),原题请到OJ上自行寻找。目的是提升自身姿势。欢迎大佬们给我提出更好的建议,十分感谢。

 

#1:一些写法的线段树需要开四倍空间。大概是因为:在很靠近叶子的地方,他的编号就很接近2倍了。然后他的孩子(超生)就接近4倍了。 例如:Codeforces 833B

 

#2:统计答案的时候 最前边乘上一个1LL,很多时候容易爆。例如:HDU 6058

 

#3:long long 占位符%I64d,如果只用%d会把低四个字节的值作为int输出,而且更会有奇怪的问题。更重要的是调试时候的输出一定别把占位符写错。或者直接用cout调试输出,否则自己把自己搞崩就不好了。

 

#4:背包注意循环次序(物品体积内外次序,升序降序)

 

#5:multiset可以当成堆用

 

#6:用rk数组来排序的时候,注意按序访问的时候,注意下标是rk[ i ] 不是 i

 

#7:POJ没有bits/stdc++.h

 

#8:读入优化要看好题目中有没有负数。

 

#9:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值