logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

CSP-S 2025 提高级 第一轮(初赛) 题解

本文是CSP-S 2025提高级初赛的部分题解,包含9道单项选择题的详细解析。题目涉及组合数学(红蓝球不相邻排列)、算法基础(KMP的next数组)、数据结构(线段树结点访问、Trie树结点数)、图论(拓扑排序种类、最小生成树)、哈希表(线性探查法)、二叉树(后序转前序遍历)以及动态规划(0-1背包问题)等多个计算机科学知识点。每道题都给出了正确答案和详细的解题思路,包括数学推导、算法步骤和图示说

#算法
信息学奥赛一本通 1357:车厢调度(train)

ybt 1357:车厢调度(train)该题中,C铁轨就是一个栈。车厢从A到B,也可以等价为车厢先到C,再到B。因此该题可以抽象为:数字1到n入栈,出栈顺序能否为指定顺序。按照题目“提示”中给出的解法来做,提示如下:解析:观察发现,整个调度过程其实是在模拟入栈出栈的过程,而这个过程中,我们可以分成三种状态:栈前、栈中、栈后。我们可以发现,当某个数字出栈了,说明比它小的数字要么已经出栈了,要么还在栈

#c++
信息学奥赛一本通 1164:digit函数

【题目链接】ybt 1164:digit函数【题目考点】1. 函数2. 递归【解题思路】递归求解:递归问题:求整数n右边数第k个数字递归关系:想要求整数n右边第k个数字,即为求出整数n/10右边第k-1个数字递归出口:如果k为1,那么直接输出n右边第1个数字,即n%10【题解代码】解法1:递归#include<bits/stdc++.h>using namespace std;int

#c++
信息学奥赛一本通 1831:【03NOIP提高组】神经网络 | 洛谷 P1038 [NOIP 2003 提高组] 神经网络

神经网络是一个有向无环图,输入层神经元是入度为0的顶点,输出层神经元是出度为0的顶点。只要j到i有边,则j属于该顶点集合。的处于平静状态的顶点。在出队顶点为u时,只有当顶点u处于兴奋状态,即。时,才可以让顶点u影响顶点v的神经状态,让。注意在拓扑排序过程中,访问到的顶点可能是。,因此可以在一开始,就对非输入层顶点的。最后遍历出度为0的顶点,看哪个顶点的。的方法,而输入层顶点的神经元状态。,就输出该

#图论#算法
信息学奥赛一本通 1619:【例 1】Prime Distance

题目要求求出区间[L, R]中相邻质数的最大差值和最小差值。由于R-L≤10^6,采用筛法先预处理[1,50000]中的质数,再用这些质数筛去[L,R]中的合数。剩下的质数存入数组后遍历求相邻差值即可。关键点包括: 使用线性筛预处理小质数 通过区间偏移映射大数到数组 处理边界情况如L=1和质数数量不足的情况 使用数学公式计算质数倍数的范围以提高效率 最终通过遍历筛选后的质数数组,即可得到所需的最大

#c++#算法
信息学奥赛一本通 1952:【10NOIP普及组】三国游戏 | 洛谷 P1199 [NOIP 2010 普及组] 三国游戏

### 三国游戏解题大纲1. **模型转化**:将武将抽象为图的顶点,武将间默契值为边权,构成完全无向图;2. **博弈逻辑**:玩家选某顶点后,电脑会选该顶点对应最大边权的顶点,双方均无法获取最大边权;玩家可选取次大边权,有必胜策略;3. **核心解法**:求每个顶点(行)的次大边权,取所有次大值的最大值即为答案;4. **优化方法**:- 方法1:维护最大值、次大值变量,O(n)遍历每行更新;

#c++
信息学奥赛一本通 1457:Power Strings

摘要:题目要求给定字符串的最小循环节循环次数。提供两种解法:1)字符串哈希法,通过枚举字符串长度的约数并比较子串哈希值,时间复杂度O(nlogn);2)KMP算法,利用前缀数组next[n]直接计算最短循环节长度,时间复杂度O(n)。两种方法均能有效解决问题,适用于不同场景需求。

#c++#算法#哈希算法 +1
洛谷 P3385 【模板】负环

图中可能有负权边,也可能有负权环,需要通过求最短路算法判断图中是否存在负权环,需要使用Bellman-Ford算法,或其优化算法,如队列优化的Bellman-Ford算法,即SPFA算法。数组oldDis记录上一轮源点到顶点i的最短路径长度,数组dis记录这一轮计算后源点到顶点i的最短路径长度。因此将最短路径长度发生更新的顶点入队,每次出队一个顶点u,对其邻接点v进行松弛操作。如果这一轮没有进行松

#算法#图论
【模板:字符串哈希】LOJ #103. 子串查找

本文介绍了字符串哈希和KMP算法在字符串模式匹配中的应用。重点讲解了滚动哈希算法的实现,通过预处理主串的前缀哈希值和基数幂次数组,可以在O(1)时间内计算任意子串的哈希值,从而快速匹配模式串。该方法将时间复杂度从暴力枚举的O(nm)优化到O(n),适用于大规模字符串匹配问题。文中还给出了具体的算法实现代码,并分析了哈希冲突的处理策略。

#哈希算法#算法
OpenJudge NOI 2.1 1809:两倍

OpenJudge NOI 2.1 1809:两倍记aia_iai​为数字序列中的第i个数对满足条件的情况做计数。最后输出满足条件的情况数量。也可以先对序列做升序排序,在i

#c++
    共 101 条
  • 1
  • 2
  • 3
  • 11
  • 请选择