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*层复杂度,一般来讲,层复杂度是指组合答案时的复杂度,如果是可以接受的常数就可以用点分治。点分治一般用于统计满足条件的路径条数


#18:现场赛写第一题的时候最好拉队友扫一眼再交,防止第一题上头


#19:各种数据无限对,但是一直WA,检查一遍初始化。


#20:前缀是个好东西,好多区间的查询都可以等价拓展成前缀,并查询两个单点。


#21:如果用vector存答案的话,用之前clear一下,即使是声明在函数栈里的也会有奇妙的问题。例如:痛失2017ICPC新疆C一血。


#22:有spj,还非得用Java的题目,尽量用BigDecimal把大数的表打好,真正算法计算时候转成double计算,常数小很多很多。


#23:涉及到位运算一定全都套上括号,否则很可能因为运算优先级挂掉。例如:痛失2017ICPC新疆I题绝杀,并丢了Au,遗憾Ag。


#24:树的题目先想如何做链,然后集成一下。

版权声明:本文为博主原创文章,转载的话评论区留个名就OK辣

HDU 2444 The Accomodation of Students (二分图判定、求最大匹配)

题意: 一群人,有的两人之间认识,有的不认识,认识关系不存在传递性(A 认识 B,B 认识 C ≠ A 认识 C ) 给定哪几个人相互认识,问是否能把这群人分成两组,使得不同组的人之间两两都不认识...
  • pkuxy
  • pkuxy
  • 2015年03月14日 23:04
  • 197

HDU1281 棋盘游戏 最小点覆盖

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1281题意:Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在...

ACM这条路不好走,但还是有很多人走在这条路上

ACM这条路不好走,但还是有很多人走在这条路上。弱校里面也有ACM强者,只是这条路,异常艰辛。我只想让这个世界,听听我们的故事,听听我们的声音。真的,有了决心,有了目标,有了耐心,这才是一个人的起跑前...

nyoj 1272 && 河南省第九届ACM竞赛A题

表达式求值 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 假设表达式定义为:1. 一个十进制的正整数 X 是一个表达式。2. 如果 X 和 Y 是 表达式,则 X+Y...

ACM/ICPC 竞赛之STL简介

内容转载自:http://blog.csdn.net/muximuxi_kgsecond/article/details/8128613 ACM/ICPC 竞赛之STL简介 STL(Standar...

2016河南省第九届ACM程序设计竞赛[正式赛四]

2016河南省第九届ACM程序设计竞赛[正式赛四] -0:12:10 Overview ProblemStatusRank Curren...

2016河南省第九届ACM程序设计竞赛【正式赛真题】

A题:表达式求值 时间限制:1000 ms  |  内存限制:65535 KB 描述 假设表达式定义为:1. 一个十进制的正整数 X 是一个表达式。2. 如果 X 和 Y 是 表达式,则 X+Y...

nyoj 1276 && 河南省第九届ACM竞赛E题

机器设备 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Alpha 公司设计出一种节能的机器设备。它的内部结构是由 N 个齿轮组成。整个机器设备有一个驱动齿轮,当启...

ACM知识竞赛 之 SDUT3033 (最大差)

这题实在不知道起啥名好了 Time Limit: 1000MS Memory limit: 65536K 题目描述 懒得想背景故事了,开门见山。 有一个长度为n...

ACM_算法竞赛经典入门_ 强烈推荐的一本好书

这本书虽然讲的是算法竞赛的内容,但里面涉及的很多算法和内容比较适合计算机系的学生练习编程,对于掌握好编程和数据结构有很大的帮助。将这本书学精,把后面的习题都到oj上ac。那么你的数据结构和编程已经有很...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ACM竞赛路上亲爱的坑们
举报原因:
原因补充:

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