作者文章归档:admin

串讲七、买铅笔


买铅笔

题目描述

题目描述 P老师需要去商店买n支铅笔作为小朋友们参加 NOIP 的礼物。她 发现商店一共有 3 种包装的铅笔,不同包装内的铅笔数量有可能 不同,价格也有可能不同。为了公平起 见,P 老师决定只买同一 种包装的铅笔。 商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过n支 ...

Read more

明明的随机数


明明的随机数

题目描述

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客 观性,他先用计算机生成了N个1到1000之间的随机整数 (N≤100),对于其中重复的数字,只保留一个,把其余相同的 数去掉,不同的数对应着不同的学生的学号。然后再把这些数从 小到大排序,按照排好的顺序去找同学做...

Read more

三国游戏


在讲解三国游戏这道真题前,我们先来解决上一节课的题目,这 是博弈论的入门题目。


1.博弈论入门

你和你的朋友,两个人一起玩游戏:桌子上有一堆石头,每次你 们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。 你作为先手。 你们是聪明人,每一步都是最优解。 编写一个程序,来判断你...

Read more

深入理解贪心算法


深入理解贪心算法

上完了贪心这一讲,并且完成了课中的题目,你可能还是一头雾 水,你的感受是非常正常的,因为贪心算法并不像排序算法那样 有很强的模板性,掌握了几种排序的写法就可以应对所有的排序 问题。 上节课我总结贪心算法的时候,提到了一个重点:贪心算法解决 问题的正确性很多时候都是“显而易见”...

Read more

数字统计


数字统计

题目: 请统计某个给定范围[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