十年OI一场空,不开longlong见祖宗。
二叉树中左右儿子表示不要用i≪1和i≪i|1,尽量用乘号。
数据范围要开大就全部开大!!!别传参啥的又变成int了。
用unsigned long long 的时候千万要注意,别写出一个负数来,那样会溢出(所以还是尽量用long long)。
打DP的时候……如果你觉得DP式子没错的话,那就检查一下是不是初始值没赋对,或者是for循环(次数、顺序等等的细节)打锅了。
线段树Add函数的作用只是把这个点打上懒标记,同时注意,区间修改和区间查询都要记得pushdown!pushdown函数的作用是把懒标记下传到左右子节点。
BFS中,可以用一个数组记录某个状态有没有被走过。如果遍历到了一个已经被走过的状态,那么可以确定即便从这个状态继续遍历下去也不可能比之前的更优了,直接break掉。空间换时间。
有的题目要求取模的……就取得彻底一点,每做一次加法运算都记得取个模。另,输出的时候记得再取模一下。
当DP式子要从前面已经推出的项中取一个最值转移过来,那么,就可以掏出单调队列这个大宝贝了。
图论的题目中有的要求建双向边,记得开两倍空间!!!
可以用诸如“scanf(“%2d”,&a);”这样的语句限制输入数据的位数。
SPFA记得加一下SLF优化,就是把将要入队的元素与队首比较,小的话就放队首,否则队尾 deque<>
OI BOOK
最新推荐文章于 2023-12-03 16:52:06 发布