OI BOOK

十年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<>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值