自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 CSP初赛题目整理题单(更新中)

每天会更新2篇,由于自己给自己布置了很多作业,所以可能不定期停更。

2025-07-14 19:48:52 326

原创 MYOJ_11705:(洛谷P1137)旅行计划(经典拓扑排序)

本文解决了一个有向无环图的最长路径问题。给定N个城市和M条有向边,要求为每个城市i计算以它为终点的最长路径长度。利用拓扑排序和动态规划,初始化入度为0的节点为1,在拓扑排序过程中递推更新其他节点的最长路径值。该方法确保了无后效性和最优性,时间复杂度为O(N+M)。代码实现了拓扑排序动态规划算法,能够高效处理大规模数据。

2026-02-23 21:51:08 210

原创 洛谷B3694:【模板】数列离散化

摘要:本文解决了一个离散化问题,要求计算数列中每个元素的排名(比它小的不同数字个数加1)。通过将数组去重排序后,使用二分查找确定每个元素在有序数组中的位置来实现。输入包含多组测试数据,每组给出一个数列,输出对应的排名序列。算法核心是排序去重和二分查找,时间复杂度为O(n log n)。示例代码展示了如何用C++实现这一过程。

2026-02-23 16:10:52 212

原创 MYOJ_7789:(洛谷P3388)【模板】割点(割顶)(tarjan算法)

本文介绍了使用Tarjan算法求解无向图割点的方法。割点是指删除后会增加图连通分量数的节点。算法通过DFS遍历,利用时间戳(dfn)和追溯值(low)判断割点:根节点需有≥2个子节点,非根节点需满足dfn[u]≤low[v]。代码实现了输入处理、Tarjan算法执行和结果输出,使用set自动排序去重割点。样例输入输出展示了6节点7边图的割点求解过程,正确识别出节点1为唯一割点。该算法能高效找出图中所有割点并按序输出。

2026-02-23 15:22:43 421

原创 MYOJ_7788:(洛谷P3387)【模板】缩点(有关强连通分量)

本文介绍了求解有向图最大点权路径的算法。首先通过Tarjan算法将强连通分量缩点,形成DAG图。然后对缩点后的图进行拓扑排序,结合动态规划求解最大路径权值和。关键步骤包括:1) 使用Tarjan算法识别强连通分量;2) 构建缩点图并计算入度;3) 拓扑排序过程中进行DP计算。算法时间复杂度为O(n+m),适用于需要多次访问节点但只计算一次权值的情况。

2026-02-22 22:12:01 585

原创 洛谷B3688:[语言月赛202212]旋转排列(新解法:deque双端队列)

摘要:本文介绍了一个关于排列操作的编程问题。给定一个长度为n的排列,要求循环执行"shift"操作(将最后一个元素移到开头),每次操作后输出当前排列,直到排列的最后一个元素为n时停止。文章详细解释了使用双端队列(deque)的解题思路,提供了完整的C++实现代码,并强调了使用do-while循环的重要性。代码通过STL的deque容器高效实现了移位操作,每次循环后输出当前排列状态。

2026-02-19 16:56:11 329

原创 MYOJ_10599:CSP初赛题单10:计算机网络

本文摘要整理了计算机网络和计算机基础相关的10道选择题及其解析。主要内容包括:1)FTP协议用于远程文件传输;2)电子邮件相关协议(POP3/SMTP/IMAP)与WTO无关;3)TCP/IP是互联网基础协议簇,IP地址必须唯一;4)W3C制定Web标准(HTML/XML/CSS);5)HTML特点及超链接本质;6)RGB颜色模型的三原色;7)常见网络协议名称解析;8)邮件接收协议(POP3/IMAP);9)防火墙的网络安全功能;10)计算机内存中数据以二进制存储。这些题目涵盖了网络协议、Web技术、计算机

2026-01-11 21:39:52 979

原创 MYOJ_10598:CSP初赛题单9:计算机系统和计算机语言

本文整理了CSP初赛常见题型,涉及操作系统、程序设计、文件格式等多个计算机基础知识领域。主要内容包括:1)识别主流操作系统(Windows、UNIX等);2)操作系统基本概念(多任务、分时系统等);3)存储容量计算(2KB存储汉字数量);4)文件格式区分(JPEG为图像格式);5)Windows基本操作;6)即时通讯软件识别;7)编程语言分类(面向对象与面向过程);8)编译器功能;9)高级语言特性;10)程序设计语言特点。题目类型涵盖单选和多选题,重点考察计算机基础知识的掌握程度。

2026-01-11 19:38:14 920

原创 MYOJ_5343:(洛谷P1536)村村通

摘要:本文解决了一个城镇道路连通性问题,要求计算最少需要新建多少条道路才能使所有城镇相互可达。通过并查集算法,首先合并已有道路连接的城镇集合,然后统计独立集合数量S,最终答案为S-1。代码实现了并查集的初始化、查找和合并操作,并对多组测试数据进行处理。输入包含城镇数n和道路数m,输出需要新建的道路数。该方法有效解决了重边问题,确保计算结果的正确性。

2026-01-10 20:01:02 346

原创 MYOJ_5339:(洛谷P3367)【模板】并查集

摘要:本文介绍了并查集的基本操作及其实现方法。并查集用于管理不相交集合,支持合并和查询操作。关键步骤包括初始化(每个元素自成一个集合)、查询(带路径压缩优化)和合并(基于查询结果)。文章提供了完整代码示例,通过输入N个元素和M个操作(1合并/2查询),输出查询结果。核心思想是利用父节点数组表示集合关系,并通过路径压缩提高效率。该模板可直接应用于其他需要处理集合合并与查询的问题。

2026-01-03 19:46:47 413

原创 MYOJ_4215:(洛谷P1020)[NOIP 1999 提高组] 导弹拦截

本文介绍了导弹拦截问题的动态规划和贪心解法。问题要求计算最多能拦截的导弹数量(最长不上升子序列)和最少需要的拦截系统数量(最长上升子序列)。动态规划解法时间复杂度为O(n²),只能通过前50%数据;正解使用二分优化的贪心算法,时间复杂度为O(nlogn)。关键步骤包括:1)维护两个序列分别记录上升和不上升子序列的最小/最大末尾元素;2)通过二分查找确定插入位置。最终输出最长不上升子序列长度和最长上升子序列长度,分别对应两个问题的解。

2026-01-02 21:01:49 303

原创 洛谷P8653:[模板] [蓝桥杯 2017 国 C] 分考场(染色最小色数)

摘要:本文解决了一个考场分配问题,要求将n个考生分配到最少的考场中,使得任何两个认识的人不在同一考场。采用DFS算法实现图着色问题的最小色数求解。首先通过邻接表存储认识关系并计算度数,然后对节点按度数排序进行优化。DFS过程中尝试为每个节点分配颜色,若无法分配则新增颜色。最终输出所需最少考场数。时间复杂度取决于图的复杂度,但通过剪枝优化效率。

2026-01-02 20:16:55 348

原创 洛谷P1120&UVA307 [CERC 1995] 小木棍

摘要:本文提出了一种基于迭代加深搜索(IDS)的算法,用于解决木棍拼接问题。该问题要求从被切割的木棍片段中找出原始木棍的最小可能长度。针对n≤65的规模,传统DFS和BFS方法存在效率问题。算法通过多轮深度受限的DFS逐步扩展搜索范围,结合7种剪枝策略优化:全局最优剪枝、拼满剪枝、搜索范围限制、搜索顺序优化、等效位置剪枝、最优填充剪枝和合法性剪枝。预处理阶段计算关键参数,主函数枚举可能的原始长度并调用DFS验证。该方法有效平衡了搜索效率与内存消耗,确保在合理时间内找到最优解。

2026-01-02 19:36:55 391

原创 洛谷B3624:猫粮规划

摘要:本文解决机器猫选择食物组合的问题,要求在能量总和在[l,r]区间内的方案数。采用DFS算法并优化剪枝:1)超过r时终止搜索;2)记录上次遍历位置避免重复;3)限制最多选15个食物。输入时直接排除能量超过r的食物。通过递归搜索所有可能组合,统计符合条件的方案数。时间复杂度从O(2^n)优化到可行范围,适用于n≤40的数据规模。样例演示了4种符合条件的组合方案。

2025-11-16 21:20:49 328

原创 洛谷P4170:[CQOI2007] 涂色

本文提出使用区间动态规划解决木板涂色最优化问题。给定目标颜色序列,每次可涂连续区间,后涂覆盖先涂。定义dp[l][r]为涂区间[l,r]的最小次数:若两端颜色相同,dp[l][r]=min(dp[l+1][r], dp[l][r-1]);否则枚举分割点k,取dp[l][k]+dp[k+1][r]的最小值。初始化单个方块次数为1。通过自底向上计算所有子区间,最终输出整个区间的最小涂色次数。代码实现采用标准区间DP模板,时间复杂度O(n³)。

2025-10-29 20:18:47 425

原创 MYOJ_8516:CSP初赛题单8:计算机语言和信息编码

摘要:本文整理了CSP初赛相关题目,涉及程序设计语言、编译原理、字符编码等计算机基础知识。内容包括:解释型语言(如Python)与编译型语言(如C/C++)的区别;编译器功能是将高级语言翻译为低级语言;面向对象语言(如C++、Java)特点;汇编语言特性;Unicode作为通用字符编码的优势;HTML超链接语法;计算机内部数据处理采用二进制形式等。这些题目考察了计算机科学基础概念的理解和应用能力。

2025-07-25 20:54:06 1029

原创 MYOJ_10583:CSP初赛题单7:计算机常识综合练习

本文整理了CSP初赛计算机基础知识题单,包含10道典型题目及解析。主要内容包括:计算机原理(冯·诺依曼体系、二进制)、硬件知识(CPU厂商、内存计算)、存储单位(字节、比特)、摩尔定律等。题目涉及32位系统内存计算(4GB)、8GB存储容量换算(约4000张2MB照片)等实际应用。解析部分详细说明了每个选项的区别,如指出HTML是标记语言而非操作系统。该题单建议按顺序学习,适合备考CSP初赛的考生系统复习计算机基础概念。

2025-07-24 20:44:33 679

原创 MYOJ_8513:CSP初赛题单6:竞赛要求相关

本文整理了CSP初赛关于竞赛要求的试题。

2025-07-23 20:13:08 743

原创 MYOJ_8519:CSP初赛题单5:机器数与位运算

本文整理了10道CSP初赛二进制运算题目,涵盖补码表示、加减法、位运算等知识点。

2025-07-21 20:36:27 1605

原创 MYOJ_8515:CSP初赛题单4:计算机软件

本文整理了10道CSP初赛计算机基础知识题,涵盖操作系统、文件格式、Linux命令等核心内容。重点包括:操作系统的主要功能是控制和管理系统资源(C);中断是CPU暂停当前程序处理新情况的过程(B);常见操作系统包括Windows、Android、MacOS(BCD);矢量图使用数学公式描述图形(B);回收站文件清空后仍可能恢复(C);Linux可执行文件不依赖扩展名(D);ls命令用于列出目录内容(A)。这些题目考查了计算机系统的基本概念和操作原理。

2025-07-21 19:56:34 808

原创 MYOJ_8518:CSP初赛题单3:数制练习专项

本文整理了10道CSP初赛中关于进制转换的典型题目,涵盖二进制、八进制、十进制和十六进制之间的相互转换。题目涉及基本概念如十六进制字母对应关系(A=10)、二进制位数限制(八位二进制最大表示255)、无限循环小数的进制转换特性等。解析部分详细说明了转换方法,包括除基取余法、乘基取整法等计算技巧,并给出了各选项的数值计算结果。通过这些题目可以系统掌握不同进制间的转换原理和计算方法。

2025-07-17 20:44:48 1075

原创 MYOJ_8514:CSP初赛题单2:计算机硬件知识

本文整理了10道CSP初赛计算机基础题目及解析。主要内容包括:1)计算机数据以二进制存储;2)微软不是CPU生产商;3)总线连接计算机各部件;4)内存单元的唯一编号称为地址;5)1600×900分辨率16位色位图需2812.5KB存储空间;6)寄存器是CPU的重要组成部分;7)引入高速缓存提高CPU效率;8)RAM断电后数据丢失;9)存储基本单位是Byte;10)8分钟24帧/秒2048×1024分辨率32位视频需90GB存储空间。这些题目涵盖了计算机存储、硬件组成、数据计算等基础知识。

2025-07-14 19:43:55 912

原创 MYOJ_8512:CSP初赛题单1:计算机常识

摘要:本文整理了10道CSP初赛题目及答案解析,涵盖计算机发展史、硬件原理、仿生学应用、科技奖项等多个领域。内容包括:计算机最早应用于数值计算;芯片主要原料为硅;仿生学应用实例;1956年诺贝尔物理学奖授予晶体管发明者;冯·诺依曼体系核心是存储程序原理;图灵奖为计算机领域最高奖项;图灵机是理论模型;生物特征识别技术种类;香农将熵引入信息论开创信息论研究等。这些题目涉及计算机科学基础知识,对初赛备考具有重要参考价值。

2025-07-14 19:14:39 985

原创 MYOJ_5078:(洛谷P5662)[CSP-J2019] 纪念品(完全背包提高)

某个纪念品的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量。第一行包含三个正整数 T,N,M,相邻两数之间以一个空格分开,分别代表未来天数 T,纪念品数量 N,小伟现在拥有的金币数量 M。第二天卖出全部纪念品 1 得到 150 枚金币并买入 8 个纪念品 2 和 1 个纪念品 3,剩余 1 枚金币;第六天必须卖出所有纪念品换回 300 枚金币,第四天剩余 5 枚金币,共 305 枚金币。第三天必须卖出所有纪念品换回 216 枚金币,第二天剩余 1 枚金币,共 217 枚金币。

2025-07-03 17:07:14 804

原创 MYOJ_4298:(洛谷P1048)[NOIP 2005 普及组] 采药(01背包经典,详见模板)

医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。第一行有 2 个整数 T(1≤T≤1000)和 M(1≤M≤100),用一个空格隔开,T 代表总共能够用来采药的时间,M 代表山洞里的草药的数目。接下来的 M 行每行包括两个在 1 到 100 之间(包括 1 和 100)的整数,分别表示采摘某株草药的时间和这株草药的价值。输出在规定的时间内可以采到的草药的最大总价值。

2025-07-03 15:22:24 372

原创 MYOJ_4742:(洛谷P1060)[NOIP 2006 普及组] 开心的金明(背包初级,附模板)

更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 N 元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的 N 元。从第 2 行到第 m+1 行,第 j 行给出了编号为 j−1 的物品的基本数据,每行有 2 个非负整数 v,p(其中 v 表示该物品的价格 (v≤10000),p 表示该物品的重要度(1≤p≤5)。第一行,为 2 个正整数,用一个空格隔开:n,m(n<30000,m<25)其中 n 表示总钱数,m 为希望购买物品的个数。

2025-06-19 19:50:52 489

原创 MYOJ_6631:(洛谷P4053)[JSOI2007] 建筑抢修(贪心提高,优先队列综合运用)

摘要:该问题描述了一个建筑抢修任务,要求在单个修理工人条件下,通过合理安排修复顺序来最大化可修复建筑数量。解题采用贪心算法结合大顶堆:1)按截止时间排序;2)逐个尝试修复建筑;3)当时间不足时,用当前建筑替换堆中耗时最长的建筑。最终输出可修复的最大建筑数。样例输入4个建筑时,最优解可修复3个建筑。

2025-06-08 17:02:15 428

原创 MYOJ_4149:(洛谷P1002)[NOIP 2002 普及组] 过河卒(坐标型DP)

棋盘上 A 点有一个过河卒,需要走到目标 B 点。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。既然马的位置固定, 那么可以确定所有无法到达的点,可以像之前图论一样设置dir8方向数组。棋盘用坐标表示,A 点 (0,0)、B 点 (n,m),同样马的位置坐标是需要给出的。STEP 1:输入,并使用vis数组预先标记无法到达的点。输入1:6 6 3 3。

2025-06-01 13:17:07 337

原创 MYOJ_1349:(洛谷P3951)[NOIP 2017 提高组] 小凯的疑惑(数学公式套用,两步搞定代码)

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯中金币的面值。本题代码纯属数学的结晶,因此肥肠简单,但需要一定理解。注意:输入数据保证存在小凯无法准确支付的商品。很好,现在到了展示公式的时间了。

2025-04-28 18:50:48 472

原创 MYOJ_7443《洛谷 U556408 》【模板】二叉树基础训练 (自己上传的题,想上主题库qwq)(二叉树基础操作模板)

第1行:这棵二叉树的深度 第2行:这棵二叉树叶子结点数 第3行:这棵二叉树的先序遍历序列 第4行:这棵二叉树的中序遍历序列 第5行:这棵二叉树的后序遍历序列 第6行:这棵二叉树的层次遍历序列。输入一个带空结点的先序遍历序列,生成一棵二叉树。例:根结点是A,左孩子是B,右孩子是C,这样一棵二叉树的带空结点的先序遍历序列为:AB##C##一行由大写字母和#组成的字符串,为带空结点的先序遍历序列。输入:ABD###CE##F##生成二叉树后,请分别输出。

2025-04-22 18:08:46 511

原创 自己的账号

这是我的洛谷账号(一周进来更新一次,有事除外)目前过的题还算少的。最后更新时间(2025/4/17 20:30)UVA(这个做了题就更新)

2025-04-17 20:35:07 364

原创 SP7733:HPYNOS - Happy Numbers I(参考我之前的文章,哈希)

如果一个数在经过若干次“破坏”以后变成了 1,那么这个数就是一个高兴的数字,输出变化次数,否则如果永远不会变成 1,输出 −1。例如:

2025-04-17 20:24:50 544

原创 MYOJ_11700(UVA10591)Happy Number(快乐数)(超快解法:图论思想解题)

(注意哈希不要在全局定义,不然还要清空,很麻烦)STEP 2:判定函数,当n不是1且n未被见过时循环,首先将当前数字加入已见集合,定义一个数字用于计算数字各位平方和,然后提取每一位数字进行计算,获取最后一位数字进行平方累加,迭代更新n为平方和,跳出后判断最终结果是否为1STEP 3:读写优化还是要开的,输入数量,for循环(为了方便按照题目要求输出,最好不用while(t--))先输出编号和输入数字,接着根据是否为快乐数来输出后面的代码。

2025-04-17 20:00:57 1499

原创 MYOJ_5775:(洛谷P3383)【模板】线性筛素数(质数筛模板)

STEP 2:线性筛,初始假设都是素数,0,1,不是素数,遍历所有数,如果i是质数,将i存入质数数组,用已找到的质数筛选合数,:假设n是合数且所有质因数都大于√n,那么这些质因数的乘积将大于(√n)^2 = n,这与n的因数分解矛盾。接着讲:如果i为素数,进内循环,标记所有的倍数为素数。当i=5时,5×2=10(已被2筛选),5×3=15(已被3筛选),5×4=20(已被2筛选):对于素数i,i²是第一个未被之前素数筛选掉的i的倍数。综上所述,外循环从2到i*i,内循环从i*i到n。

2025-04-12 16:02:09 868

原创 MYOJ_4553:(洛谷P1022)[NOIP 2000 普及组] 计算器的改良(数学运算与求解相关)

NCL 是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手 ZL 先生。你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。ZL 先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及。方程中并没有括号,也没有除号,方程中的字母表示未知数。输入:6a-5+1=2-2a。输出:a=0.750。

2025-04-11 16:48:04 619

原创 MYOJ_11648:(洛谷P1379)八数码难题(BFS提高及运用)

在 3×3 的棋盘上,摆有八个棋子,每个棋子上标有 1 至 8 的某一数字。棋盘中留有一个空格,空格用 0 来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为 123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。只有一行,该行只有一个数字,表示从初始状态到目标状态需要的最少移动次数。输入初始状态,一行九个数字,空格用 0 表示。还是的,使用DFS会TLE,所以BFS。不是从第一列向左移动。

2025-04-06 20:38:22 385

原创 MYOJ_4306:(洛谷P1018)[NOIP 2000 提高组] 乘积最大(DP递推+高精结合运用)

暂停一下如果不用去前导0,就会这样比如:6 2100000这是因为字符串无法自己去前导,但long long可以如果用自带stoi函数,就会………………所以得自己写。

2025-04-05 14:37:17 555

原创 MYOJ_1171:(洛谷P1075)[NOIP 2012 普及组] 质因数分解(数学相关,质数与约数基础)

为了节约时间与确保答案正确性,我们可以先暴力求出最小的质数用n去除,得到最后的结果。(这里循环结束的条件不用写j*j<=a,因为找到直接跳出,后面也不会被遍历到)已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。输入:21 输出:7。输出一个正整数 p,即较大的那个质数。输入一个正整数 n。

2025-04-05 12:52:54 342

原创 MYOJ_8866:(洛谷P7072)[CSP-J2020] 直播获奖(计数排序的使用,理解题目)

注意这里需要。

2025-04-04 20:44:55 511

原创 MYOJ_4342:(洛谷P1087)[NOIP 2004 普及组] FBI 树(二叉树实操,递归提高)

(在一和二中都不做使用)及01字符串,输入,建FBI树,后序遍历输出,完成。

2025-04-04 17:48:03 1355

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除