ACM竞赛路上亲爱的坑们

原创 2017年08月02日 14:14:23

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


#1:线段树开四倍!!!两倍会炸的。大概是因为。。在很靠近叶子的地方,他的编号就很接近2倍了。然后他的孩子(超生啊!)就接近4倍了。 例如:Codeforces 833B


#2:统计答案的时候 最前边乘上一个1LL,否则 int * int * int = int ,而一般的答案都是放到 long long 中,所以就。。。你懂的。例如:HDU 6058


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


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


#5:multiset可以当成堆用


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


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


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


#9:LL最大值大约是9e18 .如果还不够请左转Java


#10:比赛别慌呀。。。。你又不是着急AK。。。你就是签个到。。。你急个鸡毛啊


#11:单点计算和值TLE的话。可以考虑把每个点放到区间里,尝试对一段区间快速求解。例如:Codeforces 850B


#12:字符串题目,可以试试用特殊字符把字符串拼接然后跑ACAM/SA/SAM等。或者(自身+特殊字符+自身)等操作。例如:HDU 6096


#13:用rank数组排序时,使用的时候要注意下标是rank[ i ]


#14:树的题目一定要测试一下不同长度的链的情况,再提交,AC率增大两成


#15:位运算运算优先级特别低,比加法低,比逻辑运算低(x ^ y <N  - - - - - - > x ^ ( y < N) )


#16:比较玄妙的题目,要大胆尝试分治,比如按照二进制位分组做20次,直接将位划分位两半,将复杂度开根号。万一函数有加性,那就可以用2*sqrt的复杂度分别算玩,然后用lower_bound或者map做统计了。例如:HDU5936


#17:点分治的复杂度是N*logN*层复杂度,一般来讲,层复杂度是指组合答案时的复杂度,如果是可以接受的常数就可以用点分治。点分治一般用于统计满足条件的路径条数

版权声明:本文为博主原创文章,欢迎大家订阅,相互学习qwq

相关文章推荐

Docker_入门?只要这篇就够了!(纯干货适合0基础小白)

与sgy一起开启你的Docker之路 关键词: Docker; mac; Docker中使用gdb无法进入断点,无法调试; 写在前面 这篇博客适合谁? 对于Docker并不了解,只是有一点模糊的...

想要清肠排毒,就喝汁己青汁!

保持肠胃畅通,对于我们的身体是非常重要的。积累毒素会影响我们气色和皮肤。只有身体排毒好了,才能让身体更加轻盈人也更加精神。 日常多加注意一些小细节可帮助你减少毒素积累。 多喝水 早晨最好空腹喝水...

史上最简单的 MySQL 教程(三)「 MySQL 数据库」

MySQL 数据库MySQL 数据库是一种C\S结构的软件,即分为:客户端和服务端。若想访问服务器,必须通过客户端;服务器应该一直运行,客户端则在需要使用的时候运行。

Node.js开发入门—使用对话框ngDialog

做网站经常会遇到弹出对话框获取用户输入或弹出对话框让用户确认某个操作之类的情景,基于AngularJS的扩展模块ngDialog可以帮我们优雅地完成这类事情。
  • foruok
  • foruok
  • 2015-09-06 07:15
  • 13264

经验分享-前端与后端的接口、HTML分离

在WEB项目中 前后端不分离多人开放效率还不及一个人开发效率来的高,今天分享一个概念

java实现二维码([带]logo)的绘制和解析(zxing by google)

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础...

Java基础之(三十七)Java多线程编程<二>

控制线程join线程Thread提供了一个线程等待另一个线程完成的方法:join方法。当在某个程序执行流中调用其他线程的join方法,调用join方法的那个线程将被阻塞,直到被join方法加入的joi...

std::map 如何使用结构体作为自定义键值

在使用map时,有时候我们需要自定义键值,才能符合程序的需要。 比如我们需要使用自定义的结构体来作为map的键值.
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)