作者文章归档:admin

数字统计


数字统计

题目: 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。 比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出 现了1次,在数20中出现了1次,在数21中出现了1次,在数22中 出现了2次,所以数字2在该范围内一共出现了6次。 输入格式: 输入共一行,为...

Read more

通过“01背包”问题理解深 搜、剪枝、回溯以及递归 优化


通过“01背包”问题理解深搜、剪枝、回溯以及递归优化

背包问题是我们的老朋友了,在学习贪心算法时,我们接触到的 是“可分割”的背包问题,传送门:《深入理解贪心算法》 文章末尾我提到了如果物品不能分割,那就是 01 背包问题,01 背包问题是不能用贪心算法来解决的。01 背包也有很多种版本,


...

Read more

质因数分解(思维训练)


质因数分解(思维训练)

在讲这道 NOIP 真题之前,我们先来聊聊质因数分解,这是本周 的思考题: 输入一个正整数 n,把它分解成质因子相乘的形式,如 36 = 1 * 2

2 * 3 * 3;19=1 * 19.(1 不是质因数,这里带上1只是一种表 示的格式)

当前要考察的质因数是3,为...

Read more

C++递归算法实例


递归算法--函数的自我调用

递归算法是一种直接或间接调用自身的方法或函数来完成某种计算的算法。在C++中,递归常用于解决可以分解为规模更小、但形式相同的子问题的情况。递归算法的两个基本要素是:基准情形(基本情况)和递归步骤(或递归关系)。基准情形是不需要进行递归而能直接解出的问题;递归步骤则是...

Read more

C++中前缀、后缀与中缀运算符


C++中前缀、后缀与中缀运算符的转换案例

在C++编程中,运算符根据其与操作数的相对位置,常被非正式地划分为前缀(Prefix)、后缀(Postfix)和中缀(Infix)运算符。尽管C++标准并未直接使用这些术语来定义运算符,但这种分类方式有助于我们深入理解不同运算符的特性和用法,以及它们在...

Read more

csp算法总结


信奥赛算法总结与解析

在信息学奥林匹克竞赛(简称信奥赛)的舞台上,算法的设计与实现是参赛者展现编程才华与逻辑思维能力的关键。算法作为解决问题的方法和步骤的集合,其优劣直接影响着程序的效率与正确性。本文将对信奥赛中常见的一些算法进行总结与解析,帮助参赛者更好地理解和掌握这些算法,提升解题能力。

...

Read more

冒泡排序--整数数组排序


C++冒泡排序算法实例

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素为止,这意味着数列已经排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由...

Read more

课程总结


*/ 递归算法 函数的自我调用 --放苹果 M个苹果N个盘子 1、M=0 2、MN ** 选择排序 每一趙从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在待排序的数列的最前面, 直到全部待排序的数据元素排完。**

**冒泡排序 从无序序列头部开始,相邻元素进行两两比较,根据大小交...

Read more