首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏灰灰的数学与机械世界

    竞赛好题暑假练习11

    【分析】:本题均是利用定积分以及级数证明的基本功,(1)联想到定积分转化,(2)先裂项后用数学归纳法进行证明。

    51130编辑于 2022-11-23
  • C++入门(一)(算法竞赛

    C++作为算法竞赛的基石语言,以其卓越的性能与强大的功能,成为攻克难题、赢得胜利的锐利武器。本章将引领您从零开始,系统掌握程序结构、数据类型、基础语法等核心概念,为构建坚实的算法大厦打下第一块基石。 C++库函数相关头文件:C++库函数相关头文件 注意: 在C语言中头文件的扩展名是.h,但是C++中发生了一些变化,对老式的C的头文件保留了扩展名.h,但是C++自己并没有扩展名。 名字空间也可以自己定义,因为主要以竞赛常用为主,这里不加以详细介绍,可以自行学习。 不过一般这种写法比较浪费时间,所以竞赛中一般直接写: using namespace std; 2.7 注释 C++里有两种注释形式: 单行注释:// 多行注释:/* */ 注释本来是对代码进行解释的文字 小飞机 B2003 输出第二个整数 B2005 字符三角形 结语 希望这篇文章可以助各位敲开算法竞赛的大门,初识C++的奥秘,去探寻算法世界的精妙。

    20010编辑于 2025-12-23
  • C++入门(三) (算法竞赛

    前言 我们在前面已经对C++程序有着基础的认知,对数据结构与变量和常量也有所了解。接下来将会对算数操作符、赋值操作符等进行一一了解,为接下来的C++输入输出做好准备。 类型转换 使用C/C++写代码的过程中,不同类型的数据进行混合计算的时候,或者赋值时等号两边的类型不统一的时候,都会发生类型转换,这时就需要根据类型的转换规则转换成合适的类型。 7.3 强制类型转换 在C/C++中也会有强制类型转换,根据实际的需要将某一数据的数据类型转换为指定的数据类型,强制类型转换是临时转换的,不影响变量本身的类型。 +入门(算法竞赛)已完结撒花。 希望这篇文章可以助各位敲开算法竞赛的大门,初识C++的奥秘,去探寻算法世界的精妙。接下来我们就要深入C++的输入输出,期待各位前来学习。 同时愿诸君能一起共渡重重浪,终见缛彩遥分地,繁光远缀天。

    15210编辑于 2025-12-23
  • C++数组(二)(算法竞赛

    C/C++ 规定,二维数组的行是从 0 开始的,列也是从 0 开始的,如下所示: int arr[3][5] = {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7}; #include 往期回顾:C++数组(一)(算法竞赛) 同时愿诸君能一起共渡重重浪,终见缛彩遥分地,繁光远缀天。

    12410编辑于 2025-12-23
  • C++数组(一)(算法竞赛

    前言 前面我们已经将C++的最基础最重要的一部分给讲完了,接下来我们将继续深入另一个在写代码比较常用的知识点数组,从而能够面对多种数据不再感到手忙脚乱,能够依靠编号和阵列来组织,从而更好的输入或打印多种数据 在算法竞赛中为了为了保证不越界访问,往往会多开辟一些空间,后期题目中会讲到。 可以使用 const int N = 100 的方式定义常量,来指定数组的大小。 范围 for 是在 C++11 这个标准中引入的,如果你使用的编译器默认不支持C++11,可能需要配置才能使用。 ] = {1,2,3,4,5,6,7,8,9,10}; int b[10] = {0}; b = a; cout << b << endl; return 0; } 演示结果: 其实 C+

    21110编辑于 2025-12-23
  • 来自专栏星轨初途

    C++入门(算法竞赛类)

    个人主页:星轨初途 个人专栏:C语言,数据结构,C++学习(竞赛类) 前言 嗨(。◕ˇ∀ˇ◕)!我们又见面啦! 本专栏是为了学完C语言后转换为C++编程语言的学习,所以本专栏C++中和C语言重合的部分就不进行讲解啦!本专栏主要偏向于C++竞赛类! 欢迎大家来一起进步啦! 一、工具的安装 在算法竞赛中,最常用的工具就是dev-C++,他比较轻便,专门为了竞赛准备 下载链接Dev-C++ 文章教程:下载及使用过程 二、第一个C++程序 在学习C++之前,我们需知道C++ return 0; } 可能大家对此有所疑惑,下面为大家讲解 2、头文件 C++库函数相关头文件:C++头文件网站 注意: 在C语言中头文件的扩展名是.h;C++中,对老式C的头文件保留.h扩展名,但 注意 采用 std::cout 这种写法,如果频繁使⽤,在算法竞赛中⽐较⿇烦,耽搁时间。 但是在企业中做软件开发基本上都这样写的,这样写更好的避免名字冲突的问题,后期在慢慢琢磨。

    17010编辑于 2026-01-09
  • C++数组(三)(算法竞赛

    3.2.2.2 解决问题 3.2.2.2.1 gets 和 fgets 使用gets函数的方式,这种方式能解决问题,但是因为gets存在安全性问题,C++11中取消了gets,给出了更加安全的方案:fgets 如果这一部分忘记的话可以移步来看:C/C++输入输出初级(一) (算法竞赛) #include<iostream> #include<cstdio> using namespace std; int 其实 C/C++ 中有一个库函数叫 strcpy,可以完成。 C/C++ 中有一个库函数叫 strcat,可以完成。 往期回顾: C++数组(一)(算法竞赛C++数组(二)(算法竞赛) 同时愿诸君能一起共渡重重浪,终见缛彩遥分地,繁光远缀天。

    16110编辑于 2025-12-23
  • C++入门(二) (算法竞赛

    C++中头文件的名字是< cfloat >) 3.8 typedef C++中有⼀个关键字是和类型有关的,是用来给类型重命名的。当有⼀个类型⽐较复杂的时候,可以简化类型。 typedef 在竞赛中经常使用,可以提升编码速度。 如果是在竞赛中: 能使用全局变量,一般会直接是全局变量,这样的好处是: 变量不需要初始化,因为默认会初始化为0,这样写会比较快 很多时候,会避免传参,因为全局变量到处都可以使用。 (后面会讲) 所以在在竞赛中其实哪种方便就使用哪种,全局变量的使用很常⻅。 但是在企业里软件开发的工程实践中一般建议:能使用局部变量的,尽量少使用全局变量。 买票 A+B问题 结语 希望这篇文章可以助各位敲开算法竞赛的大门,初识C++的奥秘,去探寻算法世界的精妙。同时愿诸君能一起共渡重重浪,终见缛彩遥分地,繁光远缀天。

    23410编辑于 2025-12-23
  • 来自专栏巡天遥看一千河

    C++ 11 Atomic

    C++ 封装 我们都知道多核编程常用锁避免多个线程在修改同一个数据时产生race condition。当锁成为性能瓶颈时,我们又总想试着绕开它,而不可避免地接触了原子指令。 C++11正式引入了原子指令,我们就以其语法描述。 顾名思义,原子指令是对软件不可再分的指令,比如x.fetch_add(n)指原子地给x加上n,这个指令对软件要么没做,要么完成,不会观察到中间状态。 为了解决这个问题,CPU和编译器提供了memory fence,让用户可以声明访存指令间的可见性(visibility)关系,boost和C++11对memory fence做了抽象,总结为如下几种memory 理解C++的原子操作 事实上,Sequentially-consistent ordering是目前绝大多数编译器的缺省设置。 C++11所规定的这6种模式,其实并不是限制(或者规定)两个线程该怎样同步执行,而是在规定一个线程内的指令该怎样执行。是的,我知道这部分的文档(规定)以及给出的例子里面,满屏都是多线程。

    1.4K31发布于 2021-03-24
  • 来自专栏Reck Zhang

    C++ 11 - singleton

    singleton // T must be: no-throw default constructible and no-throw destructible template <typename T> struct Singleton { private: struct object_creator { // This constructor does nothing more than ensure that instance() // is call

    55420发布于 2021-08-11
  • 来自专栏机器学习入门

    挑战程序竞赛系列(11):2.5最短路径

    https://blog.csdn.net/u014688145/article/details/73350943 挑战程序竞赛系列(11):2.5最短路径 详细代码可以fork下Github Rito Post Office 题解 《挑战程序设计竞赛》,这道题目很有趣,分为水路和陆地,两种不同的状态,而且只有一艘船。

    65820发布于 2019-05-26
  • 来自专栏彩铅的随笔博客

    《算法竞赛进阶指南》0x11

    后进先出 的原则进行的,因此栈通常被称为是 后进先出(last in first out)表,简称 LIFO 表 通常,允许插入删除的一端称为 “栈顶”,不允许的一端称为 “栈底” 物理存储实现 可以在 C+ + 中用一个数组和一个变量(记录栈顶位置)来实现栈存储 C++ STL 中的栈 C++ 中的 STL 也提供了一个容器 std::stack,使用前需要引入 stack 头文件 STL 中对 stack

    1.3K20编辑于 2022-10-31
  • 来自专栏学习

    C++】C++11

    1.C++11的发展历史 C++11C++ 的第⼆个主要版本,并且是从 C++98 起的最重要更新。它引⼊了⼤量更改,标准化了既 有实践,并改进了对 C++ 程序员可⽤的抽象。 C++03 与 C++11 期间花了 8 年时间,故⽽这是迄今为⽌最⻓的版本间隔。从那时起,C++ 有规律地每 3 年更新⼀次。 +语法中就有引⽤的语法,⽽C++11中新增了的右值引⽤语法特性,C++11之后我们之前用到的引⽤就叫做左值引⽤。 纯右值和将亡值C++11中提出的,C++11中的纯右值概念划分等价于 C++98中的右值。 C++还⽀持更复杂的包扩展,直接将参数包依次展开依次作为实参给⼀个函数去处理。

    58110编辑于 2025-02-05
  • 来自专栏叹世界

    C++ 11 新特性

    C++ 11 的一些新特性 原始字面量 R("string...") /text.cc 上面换了个行)"; std::cout << str << std::endl; } [Running] cd "/root/code-server/c11 -new/" && g++ 字符串字面量.cc -o 字符串字面量 && "/root/code-server/c11-new/"字符串字面量 ../..

    57710编辑于 2022-01-12
  • 来自专栏用户2442861的专栏

    c++ 11 新特性

    注:作者 Danny Kalev 曾是 C++ 标准委员会成员。 Lambda 表达式 Lambda 表达式的形式是这样的: [cpp] view plaincopyprint? vector<int> vi;     typedef decltype (vi.begin()) CIT;     CIT another_const_iterator;     统一的初始化语法 C+ delete;     };     NoCopy a;     NoCopy b(a); //编译错误,拷贝构造函数是 deleted 函数   nullptr nullptr 是一个新的 C+ 下面介绍一些 C++11 的标准库新特性: 线程库 从程序员的角度来看,C++11 最重要的特性就是并发了。 如果觉得 C++ 变化太大了,不必惊恐,花点时间来学习就好了。可能在你融会贯通新特性以后,你会同意 Stroustrup 的观点:C++11 是一门新的语言——一个更好的 C++

    1.2K10发布于 2018-09-20
  • 来自专栏全栈程序员必看

    Effective C++ 条款11

    如上代码,自我赋值的时候会出现删除自身数据的操作,这样非常危急。由于p变成了野指针。

    29210编辑于 2022-07-08
  • 来自专栏ACM小冰成长之路

    C++ 11 新特性

    nullptr\text{nullptr}nullptr 的出现是为了取代 NULL\text{NULL}NULL,避免 NULL\text{NULL}NULL 的二义性。

    1K40发布于 2019-05-27
  • 来自专栏全栈程序员必看

    推荐使用C++ 11

    如果你的代码工作正常并且表现良好,你可能会想知道为什么还要使用C++ 11。当然了,使用用最新的技术感觉很好,但是事实上它是否值得呢? 在我看来,答案毫无疑问是肯定的。 C++ 11可以让你的代码更短、更清晰、和更易于阅读,这可以让你的效率更高。 C++ 11提供了一种方法来检查先决条件并尽早的在可能的时机捕获错误-编译过程中,在你运行代码前。这就是理由9。 这是通过静态断言(static_assert)和类别属性模版实现的。 现在开始掌握C++ 11C++ 11标准中除了上描述的还有更多的改动和新功能,它需要一整本数来描述。不过,我相信它们是值得你花时间去学习的。你将省去以往花在提高效率上的时间。 很多主流的编译器已经开始支持C++ 11的一些标准了。还等什么?开始吧! 推荐: http://www.cnblogs.com/roucheng/p/3456005.html

    1.3K20编辑于 2021-12-24
  • 来自专栏跟我一起学编程

    C++】————C++11

    一、C++11简介 1998年是C++标准委员会成立的第一年,本来计划以后每5年视实际需要更新一次标准,C++国际标准委员会在研究C++ 03的下一个版本的时候,一开始计划是2007年发布,所以最初这个标准叫 结果2010年的时候也没完成,最后在2011年终于完成了C++标准。所以最终定名为C++11。     从C++0x到C++11C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。 相比较而言,C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率,公司实际项目开发中也用得比较多,是C++的重点内容。 提供了initializer_list类,此类型用于访问C++初始化列表中的值,该列表是const T类型的元素列表。 六、右值引用和移动语义      传统的C++语法中就有引用的语法,而C++11中新增了的右值引用语法特性,无论左值引用还是右值引用,都是给对象取别名。 1. 什么是左值?什么是左值引用?  

    49210编辑于 2024-08-16
  • C++条件判断与循环(三)(算法竞赛

    希望这篇文章能够帮助每一位算法竞赛的前行者,更好的了解条件判断与循环。 C++中提供了break和continue两个关键字,就是应该到循环中的。 break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环,继续往后执行。

    16710编辑于 2025-12-23
领券