切入正题,上黑科技


一、黑科技函数(常用的我就不写了,例如sort函数)

1.next_permutation(a+1,a+1+n)  a[1-n]全排列

2.reverse(a+1,a+1+n)  将a[1-n]的数翻转过来

3.*max_element(a+1,a+1+n)  找出a[1-n]数字最大值(*是因为这个函数是一个指针)

4.*min_element(a+1,a+1+n)  找出a[1-n]数字的最小值(*是因为这个函数是一个指针)

5.accumulate(a+1,a+n,0)  找出a[1-n]数字的和(0是初值)(c++11才支持)

6.num=unique(a+1,a+1+n)-a-1;  返回去重后数字个数,并将a数组去重

7.rotate(a+1,a+1+x,a+1+n)  把a数组前x数放在第n个数后面

8.lower_bound(a+1,a+1+n,x)-a  在a数组中下标[1-n]中找查找x的位置,返回第一个大于等于x的数字的指针-a即为下标

9.upper_bound(a+1,a+1+n,x)-a  在a数组中下标[1-n]中找查找x的位置,返回第一个大于x的数字的指针-a即为下标

10.random_shuffle(a+1,a+1+n)  随机打乱a数组中下标[1-n]中的数(对拍神器)

11.vector a;  定义一个动态数组a(具体如何使用我就不说了)

12.clock()*1.0/CLOCKS_PER_SEC  返回程序运行时间(CLOCKS_PER_SEC在Windows环境下是1000)

13.memset(a,0/-1/0x7f,sizeof(a));  初始化a数组(只能是0,-1,正无穷)


二、黑科技宏定义

1.#define N 1000  把程序内N全部当成1000来用例如:a[N]=a[1000]

2.#define liangbei(a) a*2  (不好形容)例如:cout<<liangbei(10);    输出:20;

3.#define ll long long ll即代表long long

4.#define pr(x) cout<<#x<<"="<<(x)<<endl;  (不好形容*2)例如:int x=1;  pr(x)  输出:x=1


三、其他黑科技

1.O2  在编译的时候随你的代码进行优化(似乎是分等级的 O1/O2/O3)

例如:int a=0  for(int i=1;i<=n;i++)  a++;  直接变成a=n;

如何在自己电脑上开O2呢?

点击编译器选项中写入-O2

2.-W -Wall -Wextra -Wconversion   

在编译器选项中加入这句话,会在你程序编译时,给你提示一些你犯的一些低级错误(例如变量没初始化)

3.-std=c++11

在编译器选项中加入这句话,让你在比赛时的c++更加强大!(搞清楚比赛是不是支持c++)


附录:

1.Dev-c++软件中的编译器选项打开方式:

工具-->编译选项-->第一个白框。


持续更新!

c++中比较好用的黑科技的更多相关文章

  1. c++中比较好用的“黑科技”

    切入正题,上黑科技 一.黑科技函数(常用的我就不写了,例如sort函数) 1.next_permutation(a+1,a+1+n) a[1-n]全排列 2.reverse(a+1,a+1+n) 将a ...

  2. Python3实现ICMP远控后门(中)之“嗅探”黑科技

    ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 在上两篇文章中,详细讲解了ICMP协议,同时实现了一个具备完整功能的pi ...

  3. 黑科技抢先尝(续2) - Windows terminal中Powershell Tab的极简美化指南

    目录 安装python 安装git 安装powerline字体 主题定制 安装oh-my-posh 查看策略组的执行权限 使用choco 安装终端模拟器 - ConEmu 优化 PowerShell ...

  4. 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南

    目录 修改默认源,为apt-get安装提速 安装python 和 python pip 安装 zsh 安装powerline-font中的特定字体 安装powerline-shell 修改~目录下的配 ...

  5. 新手玩CSS中的一些黑科技

    哎哎 1.鼠标移进网页里,不见了= = *{ cursor: none!important; } 2.简单的文字模糊效果 *{ color: transparent; text-shadow: #11 ...

  6. 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  7. [自己动手玩黑科技] 1、小黑科技——如何将普通的家电改造成可以与手机App联动的“智能硬件”

    NOW, 步 将此黑科技传授予你~ 一.普通家电控制电路板分析 普通家电,其人机接口一般由按键和指示灯组成(高端的会稍微复杂,这里不考虑) 这样交互过程,其实就是:由当前指示灯信息,按照操作流程按相应 ...

  8. C++的黑科技

    周二面了腾讯,之前只投了TST内推,貌似就是TST面试了 其中有一个问题,"如何产生一个不能被继承的类",这道题我反反复复只想到,将父类的构造函数私有,让子类不能调用,最后归结出一 ...

  9. 迪士尼黑科技:爬墙机器人 VertiGo

    12 月 30 日,迪士尼研发出的一款爬墙机器人曝光了一段有趣的视频.从视频里可看出这个机器人碰到墙壁时迅速地作出反应爬了上去. 据了解,这个爬墙机器人名叫 VertiGo,由迪士尼研究中心和苏黎世联 ...

随机推荐

  1. javascript 实现最简单的阶乘!

    <script type='text/javascript'>      window.onload =  get(5);   function  get(n){   document.w ...

  2. android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码

    Android精选源码 android模仿支付宝app"记账本"模块源码 android一个超轻量级剪贴板历史记录管理软件源码 android模仿QQ拖动红点消失动画效果源码 展示 ...

  3. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-模拟接口响应数据(18)

    这里是把传入的请求数据作为响应值返回 # -*- coding: utf-8 -*- # @Time : 2020/2/15 9:47 # @File : do_mock_18.py # @Autho ...

  4. Markdown快速使用指南

    Markdown 是一种轻量级的标记语言,他简洁.高效,目前被越来越多的写作爱好者,撰稿者广泛使用.Markdown的语法十分简单.常用的标记符号也不超过十个,这种相对于更为复杂的 HTML 标记语言 ...

  5. OA|开放获取期刊|掠夺性期刊|DOI|ORCID|图书馆服务|零次文献|信息素质|

    OA|开放获取期刊|掠夺性期刊|DOI|ORCID|图书馆服务|零次文献| 信息检索 信息素质是什么? 信息素质是指一个人的信息需求.信息意识.信息知识.信息道德.信息能力方面的基本素质. Some ...

  6. Dockfile自动创建discuz论坛和可道云

    将discuz论坛的zip包解压之后用tar包压缩,这样ADD可以直接解压tar包. [root@localhost centos6.9_ssh_discuz]# pwd /opt/dockerfil ...

  7. Docker的自动构建镜像

    Dockerfile自动构建docker镜像类似ansible剧本,大小几kb手动做镜像:大小几百M+ dockerfile 支持自定义容器的初始命令 dockerfile主要组成部分: 基础镜像信息 ...

  8. mac 下openOffice服务的安装

    1.安装准备 安装 Homebrew 及 Homebrew-Cask Homebrew 是一个Mac上的包管理工具.使用Homebrew可以很轻松的安装缺少的依赖. Homebrew-Cask是建立在 ...

  9. 初等数论-Base-1(筛法求素数,欧拉函数,欧几里得算法)

    前言 初等数论在OI中应用的基础部分,同机房的AuSquare和zhou2003君早就写完了,一直划水偷懒的Hk-pls表示很方,这才开始了这篇博客. \(P.S.\)可能会分部分发表. Base-1 ...

  10. seaJs模块化开发简单入门

    随着前端技术的日益成熟,功能越来越丰富强大,规范也越来越健全,在这样的背景环境下很快便有了CommonJs.AMD.CMD等一系列规范,使前端发开趋向模块化.规范化.CMD模块化的代表之一就是国内开发 ...