自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ZH_qaq 博客公告

这里是 ZH_qaq 的博客公告,有什么重要的更改会在这里说明,也可以在此提供您的宝贵意见和建议。last uplate by 2024.10.16 21:38

2024-10-31 15:56:07 375

原创 【洛谷】P2036 [COCI 2008/2009 #2] PERKET 的题解

半年没打代码了,复健一下。

2025-03-29 12:00:11 256 2

原创 C 语言动态爱心代码

【代码】C 语言动态爱心代码。

2024-12-14 16:02:41 2125 5

原创 【洛谷】P11169 「CMOI R1」Bismuth / Linear Sieve 的题解

第二个数统计的是被重复筛的个数。如果一个数的“质”因数越多其被重复筛的次数越多。还有要注意的是,实际统计答案是因为伪代码统计的“质数”并非真正的质数,所以能被有些数整除可能已经被满足了。第二个数就比较困难了,赛时推不出来,也是赛后看题解,才明白的。第一个数相信大家很快就能看出来,其实就是。后,向上取整就行了。先把题目里面的伪代码变成 C++ 代码。赛时没调出来,血亏。

2024-12-14 15:31:47 444

原创 python 实用小脚本—给文件名打上序号

的引号中输入要排序的文件夹名。输入从第几个序号开始排序。

2024-12-08 10:02:22 310

原创 C++ 数组(一维数组)

数组是一个集合,用于存放相同类型的数据元素。特点1:数组中的每个数据元素具有相同的数据类型。特点2:数组占用一段连续的内存空间。注1:数组名的命名规范与变量名命名一致,且数组名不能与变量重名。注2:数组的下标/索引从000开始。数组名[数组长度];a[114514]注:定义数组时,若未给定数组元素的初始值,则必须指定初始数组长度,否则提示错误:“不允许使用不完整的类型”。数组名[数组长度] = { 值1,值2 …};

2024-12-03 17:39:51 506

原创 【洛谷】AT_abc188_c [ABC188C] ABC Tournament 的题解

通过对样例的数据分析我们可以看到。本题的考点就是一个二叉搜索树,因此最简单的方法就是使用递归来实现。谔谔,最近月考,没时间写题解。现在终于有时间了qaq。这样,我们通过控制数组下标,即可实现。我们将当前节点编号为。,其右兄弟节点编号为。

2024-10-16 21:36:51 609 4

原创 【洛谷】P10499 开关问题 的题解

高斯消元法是一种线性代数中的基础求解技术,主要用于求解线性系统中的未知数,即矩阵方程组。:最后,从最底部的非零行开始,根据消元过程中得到的比例关系,逐步回推计算出原始变量的值。:接着,依次用当前行除以其主元素,然后将结果乘以其他行以消除主元素位置以下的元素,直到整个矩阵变成阶梯形(主元素所在的行都是一系列。,如果当前元素非零,将其作为主元素(pivot)。:将求得的解代入原方程组,检查是否满足所有方程,确保解的有效性。:首先将系数矩阵和常数项向量合并成增广矩阵,即原矩阵。算法竞赛进阶指南牛逼!

2024-10-10 20:06:07 982

原创 【洛谷】P10938 Vani和Cl2捉迷藏 的题解

在图上选取若干条互不相交的路径,并让这些路径不重不漏覆盖到每一个点。符合上述要求且总数最小的方案就叫做原图的最小路径点覆盖,图中每个节点均只被覆盖一次。而最小重复路径点覆盖则是允许选取的路径相交,即某个点至少被覆盖一次。在二分图中,最小路径点覆盖的路径条数等于总点数减去最大匹配数;最小路径重复点覆盖的数量则需要先求传递闭包(有点类似 Floyd),再计算最小路径点覆盖得出答案,输出即可。噢噢噢噢哦哦哦,神奇网络流,有点像 Floyd。

2024-10-09 21:11:17 567

原创 【洛谷】P2330 [SCOI2005] 繁忙的都市 的题解

这题显然就是求最大边权最小的生成树,而用 Kruskal 很容易证明这就是最小生成树,考虑一下这个算法每次取的都是不构成环的最小边即可,然后 kruskal。水最小生成树,发现可以水一堆黄题qaq。

2024-10-06 17:30:46 530

原创 【洛谷】P2820 局域网 的题解

然后用并查集将没连起来的畅通程度最小的两个点连起来,每连一条就将。这其实就是一道最小生成树的板子了,就改了一点点而已。最后将所有畅通程度加起来,把。无脑用 Kruskal,思路就是一共有。条去掉,就是最大的畅通程度。

2024-10-06 12:57:06 786

原创 算法讲解—最小生成树(Kruskal 算法)

根据度娘的解释我们可以知道,最小生成树(Minimum Spanning Tree, MST)就是:一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边。简单点来说就是求最小的连通图,就是从一个点能到达图的任意一点,且花费的代价最小(所有边的权值最小)。最小生成树问题通常用于网络设计、电路设计等领域,目的是找到连接所有节点的最低成本方式。常见的算法有克鲁斯卡尔算法(Kruskal)和普里姆算法(Prim)等。

2024-10-05 19:23:25 1587

原创 【洛谷】P1352 没有上司的舞会 的题解

树形 dp,由于一个人去与不去会影响到下一位,所以我们多开一维。函数进行 dp 的更新就可以了。这样的话,我们只需要找到没有上司的节点。经典的树形 DP,典中典qaq。

2024-10-04 13:02:05 881

原创 介绍 C++ 标准头文件 — <algorithm>头文件

C++ 的头文件提供了大量的算法函数,比如排序、搜索、数据处理等。这些算法大多数都是模板函数,提供了泛型编程的能力。

2024-10-04 09:14:04 1965

原创 【洛谷】AT_dp_m Candies 的题解

首先暴力枚举的话经过用会 TLE 的,发现公式里每个 dp 值都由上一行中一段连续的 dp 值之和转移而来,可以前缀和优化转移,每次用。数组预处理上一行 dp 的前缀和,可以。地求出连续一段 dp 值之和并转移。

2024-10-03 20:04:37 636

原创 【洛谷】AT_abc373_d [ABC373D] Hidden Weights 的题解

注意到数据保证有解,因此一定有多组的解(在某组解上同时加或减一个数,差显然不变),构造起来也比较容易。直接遍历全图,对于当前的第。我们可以逐个 DFS 每个连通分量,按照题目的要求给每个点赋值,初始搜索的点值设成。对于图的每个连通分量,一旦在其中任何顶点上的值固定,则所有写入的值都是确定的。本地WA,提交AC,奇迹 AT,奇迹评测机。一个简单的 DFS?也不知道该叫啥qaq。条有向边,每条有向边从。

2024-10-03 12:23:16 873

原创 【洛谷】AT_abc373_c [ABC373C] Max Ai+Bj 的题解

那这样的话就很简单,只要在输入的时候找到。数组的最大值,然后分别将。相加就可以了qaq。

2024-10-02 15:34:53 1059

原创 【洛谷】P2357 守墓人 的题解

线段树是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。线段树也是一颗平衡二叉树,我们将它用分治的思想不断二分,最后变成单个的叶节点。这题其实很简单,就是一个线段树的板子,唯一难的就是主墓的实现,需要单点的修改与查询比较麻烦而已。其他的就是一个板子了。没有什么可讲的qaq。神奇线段树qaq,就是一道板子。

2024-10-02 09:25:47 292

原创 【洛谷】AT_abc372_e [ABC372E] K-th Largest Connected Components 的题解

看 @guozhetao 大佬,写了这篇题解,然后发现我刚好也水过这场比赛的 D 题的题解,刚好顺便切一下 E,然后来写一个题解。查询的时候,直接找到这个点在哪个块内,然后查询相应值即可。,实现两个连通块的合并时,把其中一个连通块中最大的前。个值用归并排序的方法合并到另一个连通块中并只取前。的范围很小,所以我们可以直接用暴力维护,并查集,哦哦哦哦哦哦,

2024-10-01 11:43:16 1061

原创 【洛谷】AT_abc079_d [ABC079D] Wall 的题解

二是将这个数先变成其他某个数,再有那个数继续迭代下去,所以,就可以想到 Floyd。中不同数字之间变化的花费,求将这个二维数组中的所有数字都变成。不懂就问,为什么 ABC 很喜欢出板子题。首先跑一边 Floyd ,求出。,那有两种选择,一是直接变成。经典的 Floyd qaq。题目给出了一个二维数组和。所需要的最小花费的和。的最短路,最后循环求和。

2024-10-01 10:27:18 724

原创 【AI写作】解释 RESTful API,以及如何使用它构建 web 应用程序。

RESTful API的核心理念是将系统的功能和资源暴露为一组可以通过HTTP调用访问的URI(统一资源标识符)。通过遵循RESTful API的设计原则和使用HTTP协议,可以构建灵活、可扩展和易于维护的web应用程序。文档和版本控制:为API提供适当的文档,以帮助其他开发人员使用和理解你的API。常用的方法有GET(获取资源)、POST(创建资源)、PUT(更新资源)和DELETE(删除资源)。安全性和权限控制:在API中实现适当的安全性和权限控制机制,以确保只有授权用户可以访问受保护的资源。

2024-09-29 21:46:08 370

原创 【洛谷】AT_abc344_d [ABC344D] String Bags 的题解

每天一套 ABC 练思路,你也可以成为省一qaq每天一个暴搜,然后你懂的,直接素了。考虑 dp,狂推式子,发现这是一个分组背包的板子。首先明确 dp 的定义,定义表示当前构成前i个字符时字符串集内字符串的最小使用次数。那么我们只用枚举下一次状态转移的起始位置,再将现有的字符串与目前构成的字符串的结尾比较一下,看看是否符合条件就可以了。dpkssize−1mindpk−11dpkssize−1])其中,k代表目前状态下字符串转移的起始位置,

2024-09-29 21:33:35 1054

原创 【洛谷】AT_abc372_d [ABC372D] Buildings 的题解

都可以作为左端点,其它位置则不行。于是我们可以用差分进行区间加操作。考虑线行算法,先用单调栈求出每个建筑左边第一个比它高的建筑。对于每个位置,以它做右端点,从 $v_i 到。为什么每次我的暴力都不能过 qaq。最后输出即可,时间复杂度。本质就是一个单调栈。

2024-09-28 13:16:52 758

原创 【洛谷】AT_abc178_e [ABC178E] Dist Max 的题解

根据上面的式子可以推得,曼哈顿距离的最大值为横纵坐标相加或相减后的值的较大点减去较小点。一道挺好玩的数学题 qaq,直接让我想起了数学月考的数学题,神奇曼哈顿距离 qaq。所以,要让曼哈顿距离最大,就要让较大的数最大,较小的数最小。首先,曼哈顿距离的计算公式是。最后输出即可,时间复杂度位。然后将曼哈顿公式推导可得。

2024-09-28 11:16:59 985

原创 【洛谷】P4819 [中山市选] 杀人游戏 的题解

所在的强连通分量标记为已建过边,接着统计每个强连通分量的入度,最后清空 vst 数组。枚举每一个点,然后枚举每条出边,如果相连的两个点在同一个强连通分量中,或者。所在的强连通分量已经建过边,则需要忽略这条边,接着将。主要解释都在代码里了,各位就看看代码吧。

2024-09-27 19:55:01 672

原创 【洛谷】AT_abc178_d [ABC178D] Redistribution 的题解

return;int n;n = read();i <= n;return;int n;n = read();i <= n;return;int n;n = read();i <= n;i ++) {

2024-09-27 19:54:33 1288

原创 【洛谷】P1168 中位数 的题解

谔谔,教练讲的这是一题线段树,看半天看不出来,也不会做,只好去看题解。其他的题解讲什么主席树,平衡树,分块,结果看完第一篇人都傻了。然后每次插入后,直接输出当前容器内第 $\frac{size() - 1}{2} $项即可。不懂就问,这是什么标签啊,《线段树》《二分》《堆》《树状数组》qaq。来二分大于等于该数的数的指针,使得每次插入完都是已经排好序。,但是常数极小,而且跑不满,再加个快读快写就行,甚至。因为每次插入后排序时间代价太大,则插入采用。当然啦,不太建议这种水过去的作法qaq。

2024-09-26 17:24:36 637

原创 线段树空间开四倍的证明

线段树通常分为两个部分:节点和指针。每个节点代表区间的值,需要存储两个关键信息:区间的起始和结束位置。个节点,因为每一层的节点数都是上一层的一倍。对于每一个节点,我们需要额外的指针来链接左右孩子,这又增加了。所有其他层级(从第1层到第k层):(2n - 2) * k (因为除了根节点剩下的k-1层)这里的“接近”是因为实际计算中会舍去常数项,但直观上可以认为线段树数组占用的空间大约是。线段树数组通常用于高效地支持区间查询和修改操作,它的空间复杂度通常是。随着层数增加,每次翻倍。所以,对于每层,我们有。

2024-09-26 16:16:26 491

原创 【洛谷】P4588 [TJOI2018] 数学计算 的题解 + 线段树板子代码

其实这就是一个有一点点像线段树板子,总体来说没有什么难度,线段树的话,其实只要写熟练了以后,基本就很简单了。总体思路就是将数据按时间排序,建线段树,维护区间乘。这样的话根节点就是到现在为止的所有数的乘积。很多大佬在 NOIP 的比赛前都会打一遍线段树,可见这个的重要性了吧。一如既往的打了一个暴力,神奇的一分不得。果然线段树的威力在这里qaq。这里也给出两个线段树的板子题的代码。用快读快写直接整出了。

2024-09-25 22:20:51 555

原创 【AI写作】select 上可以实现输入并实现快捷搜索

在上述示例中,用户在 select 元素上输入内容时,会根据输入的内容显示匹配的选项,并隐藏不匹配的选项。// 如果选项的值或文本包含了用户输入的内容,则显示该选项。// 将用户输入转为小写字母进行比较。// 遍历选项集合,查找匹配的选项。// 监听输入框的输入事件。

2024-09-25 17:52:45 344

原创 【洛谷】P4551 最长异或路径 的题解

看到异或,我们首先很容易想到 trie 树 还有 线性基。而高位是需要优先尽量大的。由于高位大决定一切,所以我们贪心是对的。对于每一位进行贪心,如果这一位有一个与它不同的,即异或后是。的当前位不同的子树走,就向那边走,否则没有选择。,那我们就顺着这条路往下走;,因为 LCA 以上的部分异或两次抵消了。插入到一棵 trie 中,就可以对每个。从 trie 的根开始,如果能向和。贪心的正确性:如果这么走,这一位为。之间的路径的边权异或和,那么。如果不这么走,这一位就会为。快速求出和它异或和最大的。

2024-09-25 17:38:48 1218

原创 【洛谷】P2261 [CQOI2007] 余数求和 的题解

题目看着很简单,但是真的很考验思路,思路对了,代码不到。刚开始做的时候还是一如既往,打了个暴力,成功获得了。相等,那么剩下的就是一个等差数列求和。的好成绩,T 了一堆,然后开始认真考虑数学做法。这样的话,直接用数论分块就可以解决:先使同一块的。刚开始还是打了个表,发现了对于每个。的区间,它们的公差都是。

2024-09-24 17:56:48 1152

原创 【AI写作】解释区块链技术的应用场景和优势

物联网:区块链可以用于物联网设备之间的信任建立和数据交换,确保设备之间的安全通信,提高物联网系统的可靠性和安全性。去中心化:区块链没有中心化的控制机构,每个参与者都拥有相同的权利和参与决策的能力,确保了系统的公平性和信任。供应链管理:区块链可以追踪和记录物品的流转过程,确保供应链的透明度和可追溯性,减少欺诈和虚假记录。高效性:区块链的交易和操作可以实时进行,并且不需要中间人的参与,提高了交易效率和降低了成本。透明性:区块链中的所有交易和操作都可以被所有参与者查看和验证,确保了系统的透明性和公开性。

2024-09-24 17:24:32 575

原创 【洛谷】AT_abc371_d [ABC371D] 1D Country 的题解

首先,惊人的数据范围让我直接放弃了暴力。考虑线性算法,刚开始和大多数人一样考虑到了前缀和。唯一的问题就是负数的问题,这可以将。,进行一个映射,让它成为一个在。个询问,每次查询位置。

2024-09-24 17:17:05 939

原创 【洛谷】AT_abc371_e [ABC371E] I Hate Sigma Problems 的题解

刚开始先手模一些情况,然后发现,不同的值没有贡献的地方为当前出现的位置到上一次出现的位置中间的子序列及其子序列。这个数最后一次出现的位置。每次在右端加入一个数,对前面所有左端点的影响:对。意思很简单就是求序列中每一个子区间内含有不同数字的个数之和。接着,就是代码实现。,是肯定不行的,所以要考虑别的方法。暴力的话时间复杂度是。

2024-09-23 22:12:14 1081

原创 【洛谷】AT_abc371_c [ABC371C] Make Isomorphic 的题解

抽象题目,抽象翻译,可能是我太菜了,根本没看懂题目,后面是听大佬讲题才发现,这不就是一题全排列暴力题吗。题目数据范围很小,只有 $ n \le 8$。所以直接暴力全排列取出最小值即可。

2024-09-23 21:42:17 905

原创 【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解

CSP-S1 补全程序,致敬全 A 的答案,和神奇的预言家。

2024-09-22 16:28:44 790

原创 国产游戏技术能否引领全球【终稿】

本文将从国产游戏的发展历程,当前国产游戏面临的挑战,和当前国产游戏的优势,以及两个国产游戏的优秀案例《原神》和《黑神话:悟空》展开论述。国产游戏在全球市场占据更大份额、引领技术潮流具有较大的可能性。一方面,中国游戏企业在技术创新和内容创作方面不断取得突破,另一方面,随着中国文化在全球的影响力逐渐扩大,具有中国特色的游戏作品更容易被全球玩家接受和喜爱。中国游戏产业的发展历程经历了从无到有、从小到大、从模仿到创新的过程,如今已经成为全球游戏市场的重要参与者。

2024-09-22 13:15:21 1242

原创 【AI 写作】介绍 Apache Spark 的基本概念和在大数据分析中的应用

Spark SQL:Spark SQL是Spark的一个模块,用于处理结构化和半结构化数据。Spark Streaming:Spark Streaming是Spark的流处理模块,支持实时数据的处理和分析。交互式分析:Spark支持交互式分析,用户可以使用Spark Shell或者基于Spark的编程语言(如Python、Scala)进行实时的数据探索和分析。实时流处理:Spark可以用于处理实时流数据,通过Spark Streaming模块,可以将实时数据流划分为小的批次,并进行实时的处理和分析。

2024-09-21 12:59:18 534

原创 【洛谷】P3128 [USACO15DEC] Max Flow P 的题解

(LCA 用倍增比较方便),最后用 DFS 遍历整棵树统计和即可。今天就是 CSP 初赛了,祝大家也祝我自己 rp++!,然后再将它们的 LCA 和 LCA 的父亲各减去。其实是一道树上差分的板子题,先建树,对于一条路径。树上差分,差点就被难倒了 qaq。

2024-09-21 10:09:04 602

洛谷P4248 AHOI2013差异 的 AC 代码

洛谷P4248 [AHOI2013]差异 的 AC 代码

2023-08-14

AT-code-festival-2017-qualb-f Largest Smallest Cyclic Shift AC代码

AT_code_festival_2017_qualb_f Largest Smallest Cyclic Shift 的 AC 代码

2023-08-14

AT-agc014-b AGC014B Unplanned Queries 的AC代码

AT_agc014_b [AGC014B] Unplanned Queries 的AC代码

2023-08-14

最近公共祖先(LCA)板子代码

最近公共祖先(LCA)板子代码

2023-08-14

空空如也

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

TA关注的人

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