加速写代码的板子

前缀和

【a,b】的区间和 presum[b+1]-presum[a]

计算中位数

先说结论,无论数组总个数n为奇数还是偶数,都可以用下式表示 n u m s [ n / 2 ] 和 n u m s [ ( n − 1 ) / 2 ] nums[n/2] 和nums[(n-1)/2] nums[n/2]nums[(n1)/2]
当n = 4时为nums[2]与nums[1]
当n = 5时为nums[2]与nums[2]
题目传送门

整合字符串

s.substr(id,len) 表示从s字符串的下标id处开始的一个长度为len的子字符串。
reverse(s.begin(),s.end());

区间相交、包含或不相交的写法

 int l1 = q[0], r1 = q[1], l2 = n * 2 - 1 - q[3], r2 = n * 2 - 1 - q[2];
 ans[i] = l1 <= l2 ? check(l1, r1, l2, r2, sum_s, sum_t) :    //保证check函数中的第一个区间的左端点更小
                     check(l2, r2, l1, r1, sum_t, sum_s);

判断是否是正方形的同一斜边

左上角到右下角
x-y为定值
右上角到左下角
x+y为定值

数学不等式取值

如果推出来 x > ( a + b + 1 ) / 2 x>(a+b+1)/2 x>(a+b+1)/2,那么x的取值直接从(a+b+1)/2+1开始取值即可,因为计算机中的除以2为下取整,直接会当为奇数时必然已经变小了。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值