首页 > 其他分享 >一些可能不知道或不熟悉的有用但冷门的库函数

一些可能不知道或不熟悉的有用但冷门的库函数

时间:2023-04-24 20:59:41浏览次数:40  
标签:bg val ed C++ 冷门 有用 max minmax 库函数

提取自洛谷日报 从 C++98 到 C++20,寻觅甜甜的语法糖们 中 C++98 到 C++14 的部分。

这是菜鸡作者写给自己看的,你认为有缺失可以在评论区说,但是不一定会添加。

函数所位于的库就不写了,反正都 #include<bits/stdc++.h> 了。

  • __lg(x) :GNU 私货。返回 \(\lfloor\log_2x\rfloor\)__builtin 套皮实现,时间复杂度 \(O(1)\),常数很小。
  • partial_sum(bg1, ed1, bg2)求 \([bg_1,ed_1)\) 的前缀和,并存入以 \(bg_2\) 为起始的地址。可以传入第四个参数作为加法。可以原地求前缀和。
  • adjacent_difference(bg1, ed1, bg2)求 \([bg_1,ed_1)\) 的差分,并存入以 \(bg_2\) 为起始的地址。可以传入第四个参数作为减法。可以原地求差分。
  • minmax(a, b) :返回一个 pair<>,其 first 为 \(\min(a,b)\),second 为 \(\max(a,b)\)。
  • max(l)/min(l) :\(l\) 是一个初始化列表,返回 \(l\) 中最大 / 最小的元素。可以把恶心的 max(max(a, b), max(c, d)) 换成 max({a, b, c, d}) 辣!
  • minmax(l) :\(l\) 是一个初始化列表,作用类比 minmax(a, b)
  • max/min/minmax_element(bg, ed) :作用看名字。可以用来求某些 DP 题的最终解。
  • iota(bg, ed, val) :将 \([bg,ed)\) 中的元素依次赋值为 \(val,val+1,val+2,\cdots\) 可用于给并查集初始化。是 iota,不是 itoa,不要写混。
  • hypot(x, y)返回 \(\sqrt{x^2+y^2}\)
  • accumulate(bg, ed) 求和,可以多传一个参作为加法。
  • __builtin 系列

标签:bg,val,ed,C++,冷门,有用,max,minmax,库函数
From: https://www.cnblogs.com/untitled0/p/library.html

相关文章

  • Redis高频面试题 - 2 一般有用 看1
     1、Redis持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存......
  • Django笔记二十六之数据库函数之数学公式函数
    本文首发于公众号:Hunter后端原文链接:Django笔记二十六之数据库函数之数学公式函数这一篇来介绍一下公式函数,主要是数学公式。其中sin,cos这种大多数情况下用不上的就不介绍了,主要介绍下面几种:Abs()绝对值Ceil()向上取整Floor()向下取整Mod()取余Power()乘方Roun......
  • 心法|SRE如何制定科学有用的流程制度
    科学的制定流程制度是非常重要的,好的流程制度能提高生产效率、降低出错,但流程制度用不好是要阻碍创新的,甚至引起工程师的反感和抵触。比如为了减少工程师出错,把工作的每个角落铺满精细的流程制度规范,每个制度事无巨细的几千上万字,无异于对工程师缚手缚脚,大家也背不过来,唯一的用途......
  • Django笔记二十四之数据库函数之比较和转换函数
    本文首发于公众号:Hunter后端原文链接:Django笔记二十四之数据库函数之比较和转换函数这一篇笔记开始介绍几种数据库函数,以下是几种函数及其作用Cast转换类型Coalesce优先取值Greatest返回较大值Nullif值相同返回None1、model准备这一篇笔记我们主要用到Author......
  • redis 一般有用 看1
    redis和memcached什么区别?为什么高并发下有时单线程的redis比多线程的memcached效率要高?区别:1.mc可缓存图片和视频。rd支持除k/v更多的数据结构;2.rd可以使用虚拟内存,rd可持久化和aof灾难恢复,rd通过主从支持数据备份;3.rd可以做消息队列。原因:mc多线程模......
  • 并发面试专题 一般有用 看1
    Synchronized相关问题问题一:Synchronized用过吗,其原理是什么?这是一道Java面试中几乎百分百会问到的问题,因为没有任何写过并发程序的开发者会没听说或者没接触过Synchronized。Synchronized是由JVM实现......
  • jvm面试题 一般有用 看1
                  ......
  • 项目实战-经验复盘 项目流程 有用 看1
    一个大型项目从立项到完成会需要多方合作,涉及到很多人员的调动,工作也会比较的繁琐。一套科学有效的(敏捷)项目管理方法是保证项目成功落地的必要条件。项目管理贯穿于产品的全流程管理,大致分为5个里程碑,分别为需求(需求管理、需求评审)、研发(研发前准备、研发中)、测试(功能测试、集成......
  • django 1.8 官方文档翻译: 2-5-10 数据库函数
    数据库函数NewinDjango1.8.下面记述的类为用户提供了一些方法,来在Django中使用底层数据库提供的函数用于注解、聚合或者过滤器等操作。函数也是表达式,所以可以像聚合函数一样混合使用它们。我们会在每个函数的实例中使用下面的模型:classAuthor(models.Model):name=model......
  • 分享15个对Web开发人员有用的高效工具网站
    1.代码转图片网址:https://carbon.now.sh/使用Carbon创建和分享源代码的精美图像。它提供了多种代码风格和主题。2.JavaScript正则表达式可视化工具网址:https://jex.im/regulex/#!flags=&re=%5E(a%7Cb)*%3F%24   你是那种因为看起来复杂而不想学习正则表达式的人吗......