自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AtCoder Beginner Contest 382

注意,一个人并非只能拿走一个寿司,而是可以拿走大于等于。,所以可以预处理所有。

2024-12-11 16:18:35 340

原创 Codeforces Round 784 (Div. 4)

题意要我们找出这样的字符串的对数:这两个字符串只有一个位置对应的字符不同。我们可以用二维数组记录每种字符串的个数,再模拟即可。,操作次数是不限的,所以只需要判断初始条件下所有奇数位置的元素奇偶性是否一致,和所有偶数位置的奇偶性是否一致。的字符串最终都可以实现。因此,我们只需要判断所有连续。因为每次操作都是对所有的奇数位置或者所有的偶数位置。经过分析验证,任意连续区间内同时包含。,就需要归零空单元格数,重新向上查找。遍历每一列,从下往上找连续空单元格。相向前后指针,注意边界的处理。,如果在这过程中遇到石头。

2024-12-08 17:08:04 419

原创 01背包问题(不装满和装满)和完全背包问题

给定一个容量为。

2024-12-06 21:05:38 1213

原创 最小生成树(Kruskal算法和Prim算法)

Kruskal算法适用于稀疏图,需要排序所有边。Prim算法适用于密集图,通过最小堆实现贪心选择。这两种算法都是解决最小生成树问题的经典方法,根据图的特性选择合适的算法可以提高效率。

2024-12-03 21:42:08 530

原创 并查集算法

(Union-Find)是一种数据结构,主要用于解决一些动态连通性问题,比如判断两个节点是否属于同一个集合,以及合并两个集合。它在图论中的应用非常广泛,比如最小生成树(Kruskal算法)和网络连通性问题。接下来,我将详细介绍并查集的基本原理及实现。

2024-12-02 18:54:40 912

原创 Codeforces Round 918 (Div. 4)

分析可知, 遇到元音的时候,需要在元音前两个的位置分割。不妨倒序遍历,将每个分割部分存入。模拟即可,也可以先排序。判断总和是否为平方数。

2024-12-01 14:51:47 492

原创 Codeforces Round 913 (Div. 3)

用两个栈分别维护小写字母下标和大写字母下标,用一个。数组标记字母是否删除。

2024-12-01 13:51:11 509

原创 Educational Codeforces Round 151 (Rated for Div. 2)

【代码】Educational Codeforces Round 151 (Rated for Div. 2)

2024-11-30 21:57:35 725

原创 最短路算法(Dijkstra算法和Floyd算法)

迪杰斯特拉算法是一种高效的单源最短路径算法,广泛应用于网络路由、地理信息系统等领域。通过结合最小堆可以有效优化其性能,但仅适用于非负权重图。弗洛伊德算法在处理任意两点间最短路径问题中具有较高的效率,尤其适合处理小规模的稠密图。在包含负权边的情况下也可以正确执行,广泛应用于路径优化、交通网络等领域。

2024-11-30 11:33:47 1879

原创 Codeforces Round 944 (Div. 4)

固定其中一条直线,根据另一条直线的状态进行判断。重新进行排列,问是否存在排列后的字符串。输入两个数,分别输出较小值和较大值。找到两个互不相同的字符进行。

2024-11-29 16:18:16 712

原创 树的平衡因子

以下是完整的 C++ 程序,它会构建一棵二叉排序树,并为每个节点计算和输出其平衡因子。如果插入顺序不同,可能出现非 0 的平衡因子。

2024-11-27 09:18:50 402

原创 二叉排序树

int val;// 节点的值// 左子节点指针// 右子节点指针TreeNode(int v) : val(v), left(nullptr), right(nullptr) {} // 构造函数private:// 树的根节点public:BinarySearchTree() : root(nullptr) {} // 构造函数// 插入节点// 查找节点// 删除节点// 中序遍历(验证结果)private:// 插入节点(递归实现)// 创建新节点。

2024-11-23 11:45:53 201

原创 Codeforces Round 984 (Div. 3)

与蛇形填数思路一致,用偏移量法求取每一个外围的字符串,统计这个字符串在循环移位后包含。的个数,然后计算在改变位置改变后对改变前的影响(可以分别计算在改变位置处。的个数,计算差值),注意遍历的边界范围。时的边界(计算多少个)哈希表(数组哈希或者。子串的最大个数,加到。

2024-11-09 15:03:27 810

原创 图-拓扑排序

【代码】图-拓扑排序。

2024-11-05 19:08:42 147

原创 图的储存与遍历

【代码】图的储存与遍历。

2024-11-05 16:23:26 353

原创 数据结构-哈夫曼树

【代码】数据结构-哈夫曼树。

2024-10-30 17:35:45 592

原创 Codeforces Round 937 (Div. 4)

先暴力预处理,找出所有的二进制十进制数,再从小到大枚举每一个数。

2024-10-29 19:35:35 438

原创 Codeforces Round 919 (Div. 2)

遇到两人博弈问题,可以分别贪心,先贪心一个固定下来,然后遍历贪心另一个人。

2024-10-29 18:38:32 595

原创 Codeforces Round 966 (Div. 3)

我们可以先预处理前缀和,然后贪心每次找最左边的。,计算区间和,然后缩小区间重复操作即可。

2024-10-27 16:31:31 199

原创 Educational Codeforces Round 168 (Rated for Div. 2)

给出一个正则括号序列,但是奇数位置的字符都缺失了,只保留了偶数位置上的字符,求出使括号序列合法时的最小代价。注意:偶数位置上的的字符是已知的,那么可以贪心使每个左括号尽可能早得匹配。

2024-10-27 15:08:44 248

原创 Codeforces Round 962 (Div. 3)

区间按字典序排序后需要进行多少次操作才能相等(可进行操作为:对。,求出字符串前缀中26个字母分别有多少个,然后在查询中就可以在。,要求计算两个字符串在。内任意字符作任意替换)次查询,每次查询给出。

2024-10-25 22:04:40 144

原创 Codeforces Round 909 (Div. 3)

求给定数组的连续子序列和的最大值,并且要求子序列中相邻元素奇偶性不同。,与求数组最长递增子序列类似。

2024-10-25 21:28:23 162

原创 24点游戏判断

给出4个正整数操作数,你的任务是使用运算符(+,-,*,/)和括号对操作数进行计算,分析是否能得到24,每个操作数只能使用1次,运算符和括号可以多次使用,注意所有的中间结果都必须是整数。暴力回溯,每次从数组中任选两个数,进行任意操作进行合并,将合并的数加入数组中,更新数组,然后进行回溯操作,直到数组元素为。输入包括多行,每行4个正整数,范围是[1,13],输入以0 0 0 0标记结束。若输入的4个操作数能计算出24,输出Yes,否则输出No。注意:在进行除法操作时,需要处理商不为整数的情况。

2024-10-25 12:24:32 643

原创 Codeforces Round 980 (Div. 2)

考虑到反转数跟每对数的大小有关系,大数在前会影响后面的数,小数在后会影响前面的数,所以我们可以贪心将平均数大的放在后面,平均数小的放在前面。,在所有位置都按每次的最小值,最后我们还需要纪录并加上需要。根据题意,我们需要求保证至少收到。罐柠檬水所需的最少按键次数,可以先。

2024-10-20 23:13:22 233

原创 由前序遍历和中序遍历构造二叉树

题目2329: 根据前序+中序还原二叉树思路模拟即可

2024-10-20 22:51:30 420

原创 二叉树的三种遍历方式以及层次遍历(递归与非递归)

【代码】非递归实现二叉树的三种遍历方式以及层次遍历。

2024-10-19 13:44:33 401

原创 求N!的末尾零的个数

0 来自 [1, n] 之间每个数含有的因数2、5的个数,由于每时每刻含有因数2的个数一定远多于因数5的个数,因此我们只需要计算因数5的个数。

2024-10-16 20:20:00 332

原创 Codeforces Round 951 (Div. 2)

的二进制数,可以发现,答案与二进制数末尾相同个数有关。

2024-10-11 22:40:37 152

原创 Educational Codeforces Round 165 (Rated for Div. 2)

进行循环移位,这样就可以使得总成本最小。

2024-10-11 22:26:23 191

原创 二分搜索与二分答案

while (l

2024-10-08 23:15:11 1967 1

原创 快速乘算法

【代码】快速乘算法。

2024-10-01 14:41:05 611

原创 串的匹配算法

进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个。BF算法,即暴力(Brute Force)算法,是普通的。最长相等前后缀:两者的交集的中的最大长度。注意:若字符串长度为1,则没有前后缀。前缀:包含头不包含尾的所有子串。后缀:包含尾不包含头的所有子串。时间复杂度:O(mn)

2024-09-28 13:19:21 711

原创 EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2)

【代码】EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2)

2024-09-28 13:12:18 201

原创 EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2)

【代码】EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2)

2024-09-28 11:26:43 345

原创 分解质因数

【代码】分解质因数。

2024-09-24 23:06:49 231

原创 快速幂算法

【代码】快速幂算法。

2024-09-24 22:59:36 425

原创 Python基础语法

Python基础语法

2024-09-18 20:37:56 392

原创 EasyX 图形库

EasyX 图形库

2024-09-18 20:17:29 2107

原创 C++ Data Structure

C++数据结构

2024-09-18 20:00:04 564

原创 C++语法

C++语法

2024-09-17 10:14:11 833

空空如也

空空如也

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

TA关注的人

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