自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round 934 (Div. 2) D

Codeforces Round 934 (Div. 2)D. Non-Palindromic SubstringManacharcodeforces给出一个字符串$s$,然后给出若干次查询,每次查询是对$s$的子段$s[l,r]$进行判断,具体为:**对于子段$ s[l,r]$中长度为$k$的子串,如果存在不是回文的子串,则将该长度$k$加上**。对于每次查询,输出子段$s[l,r]$的长度之和。**这是一道考察$Manachar$算法的好题。**

2024-04-27 10:36:43 857

原创 二叉树遍历(中序+__=二叉树)

跟据二叉树的性质,给出二叉树的中序遍历以及任意一种遍历顺序,即可构造出一棵唯一的二叉树。跟据前序和中序求后序跟据后序和中序求层序跟据层序和中序求前序

2024-04-17 11:26:08 346

原创 第十三届蓝桥杯b组国赛dp问题

第十三届蓝桥杯b组国赛dp问题2022搬砖费用报销

2024-04-01 17:30:50 603

原创 信息工程大学第五届超越杯程序设计竞赛 题解

信息工程大学第五届超越杯程序设计竞赛(同步赛)题解A 遗失的旋律B 时间的礼物C 财政大臣D 实验室有多少人E 在雾中寻宁静F 不规则的轮回G 完美数字H 春天与花儿I 孤独与追求J 最后的星光K 天使的拼图L 擅长搞事的高木同学M Monika's game

2024-03-30 23:29:07 977

原创 图论—树的直径(树形DP、BFS)

图论—树的直径(树形DP、BFS)树形DP两次BFS求具体节点

2024-03-27 20:56:03 853

原创 Codeforces\ Round\ 930(C.Bitwise Operation Wizard)

Codeforces\ Round\ 930(C.Bitwise Operation Wizard)算法竞赛交互题

2024-03-21 01:10:58 429

原创 大一寒假作业之《学生选修课程系统设计》

大一寒假作业之《学生选修课程系统设计》

2024-03-05 11:00:07 355

原创 Codeforces Round 923 (Div. 3)(A-E)

Codeforces Round 923 (Div. 3)(A-E)A. Make it WhiteB. Following the StringC. Choose the Different Ones!D. Find the Different Ones!E. Klever Permutation

2024-02-07 10:22:40 782 2

原创 codeforces 1534C.Little Alawn‘s Puzzle

1534C.Little Alawn's Puzzle

2024-02-05 22:43:13 904

原创 关于自动驾驶概念的学习和一些理解

对于自动驾驶的认识自动驾驶技术的优势自动驾驶的技术要求自动驾驶技术的挑战自动驾驶技术的潜在影响

2024-02-05 01:01:22 1097 1

原创 Codeforces Round 922 (Div. 2)(ABC)

Codeforces Round 922 (Div. 2)A. Brick WallB. Minimize InversionsC. XOR-distance

2024-01-31 20:55:53 749

原创 阶乘分解《算法竞赛进阶指南》

阶乘分解《算法竞赛进阶指南》质数质因数算数基本定理

2024-01-24 16:10:15 414

原创 质数距离《算法竞赛进阶指南》

质数距离《算法竞赛进阶指南》数论质因数分解

2024-01-24 13:31:15 1013

原创 Educational Codeforces Round 161 (A,B,C)

Educational Codeforces Round 161 (Rated for Div. 2)A. Tricky TemplateB. Forming TrianglesC. Closest Cities

2024-01-23 14:35:14 945

原创 The Blocks Problem

The Blocks Problem

2024-01-18 22:20:24 857

原创 2023我的编程之路

2023年度编程之路2024,祝大家在CSDN结交更多优秀的同伴,在新的一年弥补曾经的遗憾,并做的更好!

2024-01-18 00:37:05 850

原创 Codeforces Round 920 (Div. 3)(A-E)

Codeforces Round 920 (Div. 3) Problems A. Square Problems B. Arranging CatsProblems C. Sending MessagesProblems D. Very Different ArrayProblems E. Eat the Chip

2024-01-17 16:34:46 981

原创 Codeforces Round 919 (Div. 2)(A-D)

Codeforces Round 919 (Div. 2) Problems A. Satisfying Constraints Problems B. Summation GameProblems C. Partitioning the ArrayProblems D. Array Repetition

2024-01-17 01:16:08 1227

原创 Codeforces Round 916 (Div. 3)(A~F)

根据题目设置的游戏条件,每次一个人选择一个颜色的弹珠,然后将自己的该弹珠个数减一,并将对方的减为零,当有一方该颜色弹珠个数为零时不能选择改颜色。每个任务有两个经验值,第一个经验值是第一次完成任务时能获得的经验值,第二个经验值是之后重复完成时每次能获得的经验值。按照最优方式,玩家选择的颜色顺序是根据两玩家该颜色总和降序来选,因此我们按照总和最大对颜色进行排序,然后进行遍历。的数组,要求从每个数组中选择一个数,要求选择的三个整数下标互不相同且总和最大。个任务中第二个经验值最大的任务来做。

2023-12-20 18:38:16 913

原创 AtCoder Beginner Contest 329(E - Stamp)

当然其中包含形如“AB#”,这种与“ABC”等价,因为第三个位置实际上是会被覆盖的。然后用dfs一层一层的揭,在dfs搜索的时候要注意,当前位置的前面和后面都要搜索一边,因为这个字符串可能被覆盖的前缀,也可能是后缀。于是换个思路来想,根据粘胶带的思路,无论怎么粘,最后一个粘的胶带都不会被遮挡,所以我们考虑倒着操作,将。且印有字母的胶带,这样每次操作就相当于在空白板子上粘胶带,而每次粘胶带时都会覆盖掉当前这段长度为。的位置,求最后是否能将该空白的板子粘成。的一段连续的位置,判断是否可以将。

2023-11-21 17:58:52 226 2

原创 最大子段和(分治法+动态规划法)

那么会发现,当前数字的选择与否并不是由前面已经遍历过的数字所决定,而是由其后面的数字来决定,这也就导致了问题的。为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。问题,我们可以将遍历到的数字看作必选项,然后判断是否要加上前面的和。由于只和当前元素前面的最大值有关,因此只需要记录前面最大值即可。必然包含在内,因此可以利用第二种穷举的思路分别向左右扩张求出。有向无环图中的节点对应问题中的。,转移的选取就是动态规划中的。,图中的边则对应状态之间的。

2023-11-20 18:34:36 167

原创 使用git上传代码至gitee入门(1)

使用git上传代码至gitee。如果是按照上述步骤已经创建好了文件夹,但是对远程仓库的内容做出了修改,想要更新本地的文件夹,只需要。的报错,这是因为我们在同步到远程仓库的时候没有将本次操作命名,需要执行一下。第三条是将仓库下的master分支拉取到本地,分支默认都是master。这是安装完git的一个效果,在文件夹里单击鼠标右键,会多出来两个选项。

2023-11-16 17:52:37 131

原创 AtCoder Beginner Contest 328(E - Modulo MST)

You are given a weighted simple connected undirected graph with NNN vertices and MMM edges, where vertices are numbered 111 to NNN, and edges are numbered 111 to MMM. Additionally, a positive integer KKK is given.Edge i (1≤i≤M)i\ (1\leq i\leq M)i (1≤i≤M)

2023-11-13 19:09:12 204

原创 HDU-5536-Chip Factory(01Trie)

Trie树有一道经典例题,是一个整数序列,然后选择两个数令其异或和最大。先回顾一下那道题的思路:我们将所有的数字全部插入Trie树中,然后我们循环遍历所有的数字,求出最大异或和。这道题在例题的基础上增加了一些难度,题目要求从数列1中选出两个数相加后与第三个数异或,求所选数字组成的最大值。妥妥超时,但是只需降低一个时间复杂度,令时间复杂度降为。因此我们考虑优化暴力的思路。如果这道题用暴力来写的话,时间复杂度就是。的整数序列,然后从里面选出来三个数。组数据,每组数据都给定一个长度为。

2023-09-16 12:02:38 53

原创 HDU 5534 -- Partial Tree(完全背包)

由于题目要求构造成一棵树,这也就以为这所有节点都是联通的,且不构成自环,所以每个节点的度至少为1。我们不妨将所有节点的度设为1,然后。看完上述的分析,我们很容易能想到这是一道完全背包问题,所谓的选择就是我们每个节点能达到的度(1~n)。这就意味着不需考虑具体的建树方式,个节点,要求将节点连接成树,然后给出节点的。读完题后我们首先能想到n个节点的度之和是。,要求所有节点的权值相加总和最大。

2023-09-15 13:29:16 43

原创 算法思想——三分

相信大家都对二分思想比较熟悉了,但是三分思想却不一定非常熟悉,因为在日常刷题过程中二分用的比较多一些,比如二分答案或是二分查找。我们都知道,二分思想在使用的过程中是有条件限制的,要求我们数据必须是线性的、单调的。而三分思想和二分的思想几乎一致,但是限制不同,所以解决的问题也不同。三分算法适用于求解凸性函数的极值问题,二次函数就是一个典型的单峰函数。二分利用的是函数的单调性,三分算法利用的是函数的单峰性。处,然后计算这两个点的函数值,如果。

2023-09-10 19:10:14 587

原创 数据结构之树状数组(算法知识总结)

树状数组顾名思义,本质就是一个数组,但是其储存结构与一般的线性数组不同。如果我们使用常规的数组进行单点修改与区间查询时,其时间复杂度分别是O1O(1)O1和OnO(n)On,当问题中涉及到的区间查询较多时,时间复杂度会叠的很高。这时就可以使用树状数组来解决这种单点修改、区间修改、单点查询、区间查询的问题。树状数组的结构图如下图所示,下图的结构是如何来实现的呢?

2023-08-12 17:38:32 114

原创 数据结构之并查集(算法知识总结)

并查集是一种可以动态维护若干个不重叠的集合,并支持合并与查询的数据结构。find(),查询一个元素属于哪个集合。mergo,把两个集合合并为一个大集合。并查集实际上就是处理具有关联关系的问题。比如给定若干对物品之间的关系,然后判断那一对关系是错的。那么并查集该如何实现呢?要实现并查集,就要从实际出发,想办法实现以上两个功能。如果我们想要将若干个物品归为一类,我们可以令其同时等于一个元素,这样,当我们判断两个物品是否是同一类时,只需要查询两个物品是否都等于同一个元素即可。

2023-08-12 15:02:17 39

原创 关于排列与逆序对的一些整理

123...n1,2,3...,n123...n这nnn个数字组成的一个有序数组称为一个nnn级(阶)排列,共有Annn!A_n^n=n!Ann​n!个不同的排列。一个排列中所有的逆序的总和叫做这个排列的逆序数。逆序数为奇数的排列叫做奇排列,逆序数为偶数的排列叫做偶排列。特别的,自然排列时逆序数为000的排列,算作是偶排列。

2023-08-10 21:36:16 632

原创 背包九讲——九种背包问题的算法思路+代码分析

其实九种背包问题都是由01背包问题延伸而来,因为其他背包问题都是在01背包问题上加了一些其他条件或限制。只要01背包的思想完全掌握,那么在学习其他背包问题的时候都能够很快理解,在解决其他背包问题时基本只是在01背包基础上,增加一些判断,或是在01背包思想的基础上根据题目要求做出一些调整。因此本篇在刚开始介绍01背包的时候会花费较多笔墨,尽量保证大家能够理解01背包,接下来后面的背包问题就会只对于题目相对01背包作出的更改进行讲解。

2023-08-04 15:36:52 2197

原创 洛谷P1908 逆序对

我们知道,在归并排序思想中,是将数组分为全部为升序的子数组,通常是拆分为单个,因为单个必升序,然后两两进行合并,通过不断比较两数组中最小的数,并将较小的移到合并后的数组中,使得合并后的数组为升序排列。最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。逆序对问题的正确解法就是用归并排序的思路,但是这道题也可以使用树状数组来写,在这里对两种解法思路进行讲解。

2023-07-30 17:13:17 190

原创 2023河南萌新联赛第(二)场:河南工业大学【部分题解:A、B、C、D、E、G、I、K】

2023河南萌新联赛第(二)场:河南工业大学【部分题解:A、B、C、D、E、G、I、K】

2023-07-20 11:28:48 458 6

原创 C++STL常用容器整理归纳

vector可理解为变长数组,也就是不定长数组,在声明一个vector型的元素作为数组时,不需要声明它的长度。vector支持随机访问,对于任意下标 0

2023-07-14 15:59:54 261

原创 2023河南萌新联赛第(一)场:河南农业大学【部分题解C、E、F、G、H、J、K】

这道题可以用bfs来写,但是搜索过程不好处理。然后通过题目描述可以发现这道题是求最短路径,所以我们可以使用求最短路算法dijkstra来写。使用dijkstra来写的好处是可以保持局部最优解,即保持我们储存的从一个点到另一个点的距离始终最短,然后通过局部最优达到全局最优即最短路径。要达到保存两点间的最短路径,同时去除两点间的重复路径,容易想到使用STL里面具有去重排序的set集合容器,将点的坐标(x, y) 和距离起点的距离放入集合内部。在代码具体实现过程中,按照dijkstra的思想,先判断当前位置

2023-07-12 23:09:27 252

原创 AcWing 131. 直方图中最大的矩形(单调栈)

这其实很好判断,我们只需要枚举所有的矩阵高度,矩阵高度变化的同时,矩阵的宽度也会按照规则进行变换,保证矩阵是在条形图里。当各矩阵高度随机时,会出现下一个矩阵高度小于当前矩阵高度的情况,这样如果继续计算矩阵面积,那么矩阵高度将不能超过下一个矩阵。**当遇到比栈顶元素小的情况时,不断取出栈顶,累计被弹出的矩形的宽度之和,然后用弹出的高度乘以累计的宽度去更新答案。这是一道很经典的单调栈问题,但在刚看到这道题的时候我们应该先思考一个问题,当矩阵序列每行递增排列时,我们该如何判断最大矩。当输入n为0时,表示结束。

2023-07-11 11:43:22 202

原创 二叉堆算法

二叉堆是一种支持插入、删除、查询最值的数据结构。它其实是一棵 满足”堆性质“的完全二叉树,树上的每个节点带有一个权值。若树中的任意一个节点的权值都小于等于其父节点的权值,则称该二叉树满足“大根堆性质”。若树中任意一个节点的权值都大于等于其父亲节点的权值,则称该二叉堆满足“小根堆性质”。“大根堆”、“小根堆”都是二叉堆的形态之一。哈夫曼树(Huffman Tree)是一种特殊的二叉树,它的每个非叶子节点都有两个子节点,其中左子节点代表0,右子节点代表1。

2023-07-10 10:42:56 84 1

原创 AcWing 149. 荷马史诗(二叉堆、小根堆、Huffman树、C++)

本题所构造的编码方式其实就是 Huffman 编码,我们把单词的出现次数 w1 ~ wn 作为 Huffman 树叶子节点的权值,然后求出k 叉 Huffman 树。对于 Huffman 树的每个节点的k个分支,分别在边上标记字符0 ~ k - 1.

2023-07-09 20:08:38 88 1

原创 AcWing 145. 超市(二叉堆、小根堆、C++)

超市里有 N 件商品,每件商品都有利润 pi 和过期时间 di,每天只能卖一件商品,过期商品不能再卖。求合理安排每天卖的商品的情况下,可以得到的最大收益是多少。

2023-07-09 18:25:07 91 1

原创 Trie字典树算法

Trie(字典树)是一种用于实现字符串快速检索的多叉树结构。Trie 的每个节点都拥有若干个字符指针,若在插入或检索字符串时扫描到一个字符 c,就沿着当前节点的c字符指针,走向该指针指向的节点。

2023-07-06 09:48:22 103 1

原创 AcWing 144. 最长异或值路径(Trie字典树)

给定一棵 N 个节点的树,树上的每条边都有一个权值。从树中选择两个点 x 和y,把从 x 到 y 的路径上的所有边权 xor(异或)起来,得到的结果最大是多少?

2023-07-05 23:49:54 100 1

The Blocks Problem

题面

2024-01-18

空空如也

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

TA关注的人

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