
C++程序设计竞赛
文章平均质量分 80
本专栏主要分4部分,第1部分介绍C++语言的基础知识,地部分介绍一些基础算法,第3部分介绍几种简单常用的数据结构,第4部分是在算法竞赛中需要使用的数学基础。
本专栏主要面向从未接触过程序设计竞赛(包括NOI系列比赛、ICPC系列比赛)的选手,以及稍有算法基础,希望进一步巩固算法基础的读者
hl026
这个作者很懒,什么都没留下…
展开
-
GESP C++三级 知识点讲解
(一)知识点详述(1)了解二进制数据编码:原码、反码、补码。(2)掌握数据的进制转换:二进制、八进制、十进制、十六进制。(3)掌握位运算:与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)的基本使用方法及原理。(4)了解算法的概念与描述,熟练运用自然语言、流程图、伪代码方式来描述算法。(5)C++一维数组基本应用;(6)掌握字符串及其函数的使用包括但不限于大小写转换、字符串搜索、分割、替换。(7)理解枚举算法、模拟算法的原理及特点,可以解决实际问题,原创 2025-04-06 22:45:21 · 587 阅读 · 0 评论 -
28——循环结构之累加应用(配套练习后续更新~~~~~)
2008年北京奥运会,Y国的运动员参与了n天的决赛项目(1≤n≤20)。现在要统计一下Y国所获得的金、银、铜牌数目及总奖牌数。输入n+1行,第1行是Y国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。输出仅1行,包括4个整数,为Y国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。31 0 33 1 00 3 04 4 3 11这个问题是关于统计和基本的输入输出操作。我们需要从输入中读取天数和每天获得的金、银、铜牌数目,然后计算总数并输出。原创 2024-10-20 13:39:00 · 850 阅读 · 0 评论 -
P1009 【深基4,例7】阶乘之和
为了优化这个问题,我们可以考虑使用高精度计算库(如 GMP 或 C++17 引入的 <bit> 和 <numeric> 中的工具,尽管后者主要用于位操作和数值算法,并不直接支持大数运算),但在这里,我将展示一个更简单的优化方法:使用模运算来避免溢出(尽管这不会给出精确的阶乘和,但可以用于处理大数问题时的近似或特定场景下的计算)。然而,对于直接计算阶乘和的问题,更实际的做法是使用一种算法来避免直接计算大数的阶乘,因为即使使用模运算,当 n 很大时,计算单个阶乘也会非常耗时。当n的值超过21,就会出现溢出。原创 2024-08-29 08:00:00 · 911 阅读 · 0 评论 -
P5721 【深基4.例6】数字直角三角形
4)%m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。代码中的printf函数用于格式化输出数字,其中%02d表示输出的整数至少占用两位宽度,不足部分以0填充。前边的*定义的是总的宽度,后边的定义的是输出的个数。可以把这个任务分成两个层级:大任务输出每一行,小任务输出每一行的每个数字。7)f格式:用来输出实数(包括单、双精度),以小数形式输出。9)g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。1)%-:在字段宽度中,表示左对齐输出,如省略表示右对齐输出。原创 2024-08-28 21:32:40 · 1202 阅读 · 0 评论 -
C++ 标准库 <iomanip>
虽然在这个例子中std::setiosflags与std::ios::fixed和std::ios::showpoint一起使用,但std::setiosflags实际上可以接受任何std::ios_base::fmtflags的组合,默认情况下,如果输出宽度大于要输出的数据所需的宽度,并且没有指定填充字符,则大多数实现会使用空格作为填充字符。在这个例子中,我们清除了std::ios::fixed标志,但保留了std::ios::showpoint标志。类型的参数,这些参数指定了要设置的标志。原创 2024-08-28 21:35:33 · 2564 阅读 · 0 评论 -
P5718 【深基4.例2】找最小值
另外,<bits/stdc++.h>是一个不规范的、但在竞赛编程中常见的头文件,它包含了几乎所有C++标准库中的内容,包括std::min和std::max函数。然而,由于它不是一个官方推荐的头文件,通常不建议在生产环境中使用。如果新输入的数字要小于擂主,那么新数字打擂成功,代替原来的擂主;如果没有小于擂主,那么打擂失败,新的数字只能灰溜溜地下去了。直到最后,经过历练,最后留下的擂主就是最小值。的初始值设置为读到的第一个数据,把第一个数直接作为擂主,然后和后面的数字打擂台,也可以得到相同的效果。原创 2024-08-22 17:18:53 · 401 阅读 · 0 评论 -
洛谷官方精选题单解析(持续更新~)
P1320:压缩技术(续集版)P1205:[USACO1.2]方块转换 Transformations。P1090:[NOIP2004提高组]合并果子/[USACO06NOV] Fence Repair G。P1090:[NOIP2004提高组]合并果子/[USACO06NOV] Fence Repair G。P1217:[USACO1.5]回文质数Prime Palindromes。P1217:[USACO1.5]回文质数Prime Palindromes。原创 2024-08-22 15:30:41 · 4562 阅读 · 0 评论 -
P1428 【深基5,例1】小鱼比可爱
这道题目主要考察的是数组或列表中元素的遍历和计数。原创 2024-08-20 21:16:26 · 527 阅读 · 0 评论 -
【深基4,例5】猜数字游戏
小洛机器人和你玩猜数游戏!小洛随机选择并默默记下一个1~100的整数,你需要不断猜测这个数字是什么并输入验证。如果你输入的数字比小洛选择的数字小,小洛会输出“Too small如果比小洛选择的数字大,小洛输出“TOO large如果刚好猜对,小洛输出“!!如果一次没有猜中,则继续猜,直到猜中为止。这个猜数游戏是一个经典的二分查找算法的应用实例,其中小洛机器人代表程序中的算法部分,而你代表与程序交互的用户。小洛机器人在1到100之间随机选择一个整数作为答案。用户输入一个猜测的数字。原创 2024-08-20 20:50:51 · 793 阅读 · 0 评论 -
P5720 【深基4.例4】一尺之棰
条语句,这样就可以不需要加花括号了。一次次循环后,a会越来越小,知道a变为0时,循环成立条件不再成立,跳出循环。这里循环体虽然是两个操作,但是使用了逗号表达式,将两个不同的表达式写在了一起,变成。原创 2024-08-19 18:55:32 · 230 阅读 · 0 评论 -
P5719 【深基4.例3】分类平均
如果要计算一些数字的平均数,除了要知道这些数字的总和,还要知道这些数字有几个。根据等差数列求和公式,个自然数中就有 一个是。原创 2024-08-18 20:40:54 · 294 阅读 · 0 评论 -
探寻编程之信息学奥赛:升级打怪的冒险之旅
一、信息学奥赛晋级之路信息学奥赛(简称:信奥)全称为全国青少年信息学奥林匹克竞赛(National Olympiad in Informatics,NOI)与数学,物理,化学,生物四科竞赛统称五大科竞赛。是国内包括港澳在内的省级代表队最高水平的大赛。信奥赛历史悠久,自1984年由中国计算机学会创办第一届至今,为国家培养了大批的计算机拔尖人才。信奥是教育部白名单赛事中科技类最高赛项也是现存唯一允许小学、初中、高中均可报名参加的奥赛。原创 2024-08-17 22:40:46 · 2992 阅读 · 1 评论 -
信息学奥赛有关网站整理集合
2. 复杂度速查表,提供了一个简洁明了的表格形式,列出了常见算法的时间复杂度(如 O(1),O(n),O(log n),O(n log n),O(n²),O(n³) 等)和空间复杂度。2. 预设示例,提供了一系列预设的算法示例,像常见的排序算法快速排序、归并排序、冒泡排序等,图论算法最短路径、拓扑排序、哈密顿回路查找等,还有树和图的遍历算法。2、同时也提供一些与二叉树相关的操作演示,比如插入、删除节点,遍历二叉树等,这些都有助于我们更深入地了解二叉树的运作原理。1、展示不同算法的时间复杂度、空间复杂度。原创 2024-08-17 15:24:35 · 19537 阅读 · 0 评论