提高组

王老师青少年编程2 小时前
c++·记忆化搜索·方格取数·csp·信奥赛·csp-s·提高组
信奥赛C++提高组csp-s之搜索进阶(记忆化搜索案例实践3)设有 n × m n \times m n×m 的方格图,每个方格中都有一个整数。现有一只小熊,想从图的左上角走到右下角,每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格,也不能走出边界。小熊会取走所有经过的方格中的整数,求它能取到的整数之和的最大值。
王老师青少年编程2 天前
c++·csp·信奥赛·csp-s·提高组·iddfs·埃及分数
信奥赛C++提高组csp-s之搜索进阶(迭代加深IDDFS)迭代加深搜索(Iterative Deepening DFS,简称 IDDFS)是一种特殊的深度优先搜索。它给普通的 DFS 套上了一层“深度限制”循环,搜索过程如下:
王老师青少年编程3 天前
c++·记忆化搜索·搜索·信奥赛·csp-s·提高组·滑雪
信奥赛C++提高组csp-s之搜索进阶(记忆化搜索案例实践1)Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:
王老师青少年编程5 天前
c++·记忆化搜索·csp·信奥赛·csp-s·提高组·搜索进阶
信奥赛C++提高组csp-s之搜索进阶(记忆化搜索核心思想)记忆化搜索(Memoization Search)是一种通过记录已经遍历过的状态信息,从而避免对同一状态重复遍历的搜索算法。可以把它理解为带有“备忘录”的递归——递归每次返回的时候,将结果放到备忘录里;每次进入递归的时候,先看看备忘录里有没有当前状态,如果有就直接返回,不用再重复计算。
王老师青少年编程6 天前
c++·csp·高频考点·信奥赛·提高组·搜索剪枝·小木棍
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝案例实践1)乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过 50 50 50。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。
王老师青少年编程6 天前
c++·信奥赛·csp-s·提高组·搜索剪枝·生日蛋糕·最优性剪枝
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝案例实践2)7 月 17 日是 Mr.W 的生日,ACM-THU 为此要制作一个体积为 N π N\pi Nπ 的 M M M 层生日蛋糕,每层都是一个圆柱体。
王老师青少年编程7 天前
c++·csp·平衡树·信奥赛·csp-s·提高组·fhq treap
信奥赛C++提高组csp-s之FHQ TreapFHQ Treap(无旋Treap)是一种基于Tree(二叉搜索树)+ Heap(堆)的数据结构。它的核心特点是不需要旋转操作,仅依靠**分裂(Split)和合并(Merge)**两个核心操作就能实现所有平衡树功能。这也是它相比Splay和有旋Treap的最大优势——代码短小、易于理解、支持可持久化。
王老师青少年编程10 天前
c++·平衡树·treap·信奥赛·csp-s·提高组
信奥赛C++提高组csp-s之平衡树(Treap)二叉查找树(Binary Search Tree, BST)的查找、插入、删除操作时间复杂度为 O(h),其中 h 为树的高度。在理想情况下,BST 的高度为 O(log n),但在最坏情况下(例如插入的节点序列本身有序),BST 会退化成单链表,性能下降到 O(n)。
王老师青少年编程2 个月前
c++·动态规划·dp·树形dp·csp·信奥赛·提高组
动态规划之【树形DP】第4课:树形DP应用案例实践3在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有 N N N 门功课,每门课有若干学分,分别记作 s 1 , s 2 , ⋯   , s N s_1,s_2,\cdots,s_N s1,s2,⋯,sN,每门课有一门或没有直接先修课(若课程 a a a 是课程 b b b 的先修课即只有学完了课程 a a a,才能学习课程 b b b)。一个学生要从这些课程里选择 M M M 门课程学习,问他能获得的最
王老师青少年编程2 个月前
c++·组合数学·信奥赛·抽屉原理·csp-s·提高组·鸽巢原理
信奥赛C++提高组csp-s之组合数学专题课:鸽巢原理详解及案例实践鸽巢原理是组合数学中一个看似简单但极具威力的工具,它在信奥赛提高组中常用于解决存在性证明和构造问题。下面我们将结合数学原理、实例以及编程案例实践进行详细讲解。
王老师青少年编程2 个月前
c++·组合数学·卡特兰数·csp·信奥赛·csp-s·提高组
信奥赛C++提高组csp-s之组合数学专题课:卡特兰数卡特兰数通常用 C n C_n Cn表示,其中 n 是非负整数。常见的定义方式有多种,其中一种是:C n = 1 n + 1 ( 2 n n ) C_n = \frac{1}{n+1} \binom{2n}{n} Cn=n+11(n2n)
王老师青少年编程3 个月前
c++·数论·中国剩余定理·csp·信奥赛·csp-s·提高组
信奥赛C++提高组csp-s之数论基础专题课:中国剩余定理2(编程案例实践1)中国剩余定理(CRT)是数论中的一个重要定理,在信奥赛(NOI系列赛事)中属于必须掌握的模板级别知识。它主要用于求解一元线性同余方程组。
王老师青少年编程3 个月前
c++·数论·欧拉函数·信奥赛·欧拉定理·csp-s·提高组
信奥赛C++提高组csp-s之数论基础专题课:欧拉函数和欧拉定理2(编程案例实践)信奥赛C++中的欧拉函数和欧拉定理是数论基础专题中重要内容。上次内容我们了讲解其数学原理,并举数学例子帮大家做了深入理解。本次课我们将讲解编程案例实践。
王老师青少年编程4 个月前
c++·题解·真题·初赛·信奥赛·csp-s·提高组
2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第2题)假设输入的 n,k 和 d[i]都是不超过 10000的正整数,且 k不超过 n,并假设 rand() 函数产生的是均匀的随机数,完成下面的判断题和单选题:
王老师青少年编程4 个月前
c++·题解·真题·初赛·信奥赛·csp-s·提高组
2020年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第1题)(分数背包)小 S 有 n 块蛋糕,编号从 1 到 n。第 i块蛋糕的价值是 w i w_i wi,体积是 v i v_i vi。他有一个大小为 B的盒子来装这些蛋糕,也就是说装入盒子的蛋糕的体积总和不能超过 。他打算选择一些蛋糕装入盒子,他希望盒子里装的蛋糕的价值之和尽量大。
王老师青少年编程4 个月前
c++·题解·真题·初赛·信奥赛·csp-s·提高组
2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第1题)假设输入的 n和 d[i]都是不超过 10000 的正整数,完成下面的判断题和单选题:判断题n 必须小于 1000,否则程序可能会发生运行错误。( )
王老师青少年编程4 个月前
c++·题解·真题·初赛·信奥赛·csp-s·提高组
2020年信奥赛C++提高组csp-s初赛真题及答案解析(选择题11-15)第 11 题:小明想通过走楼梯来锻炼身体,假设从第 1 层走到第 2 层消耗 10 卡热量,接着从第 2 层走到第 3 层消耗 20 卡热量,再从第 3 层走到第 4 层消耗 30 卡热量,依此类推,从第 k 层走到第 k+1 层消耗 10k卡热量 (k>1)。如果小明想从 1 层开始,通过连续向上爬楼梯消耗 1000 卡热量,至少要爬到第几层楼? ( )。
王老师青少年编程4 个月前
c++·题解·真题·初赛·信奥赛·csp-s·提高组
2020年信奥赛C++提高组csp-s初赛真题及答案解析(选择题6-10)第 6 题:下列哪些问题不能用贪心法精确求解?( )A. 霍夫曼编码问题B. 0-1 背包问题C. 最小生成树问题
王老师青少年编程4 个月前
c++·题解·真题·初赛·信奥赛·csp-s·提高组
2020年信奥赛C++提高组csp-s初赛真题及答案解析(选择题1-5)第 1 题:请选出以下最大的数( )。A. ( 550 ) 10 (550)_{10} (550)10