- 博客(25)
- 收藏
- 关注
原创 Python 字符串切片与反转详解
last_3 = n[-3:] # 正序获取最后3个字符: 'rld'last_3_rev = n[:-4:-1] # 逆序获取最后3个字符: 'dlr'
2025-04-01 13:51:57
259
原创 `scanf` vs `cin` 深度对比(算法竞赛向)
在ACM/ICPC等竞赛中,约15%的输入错误源于换行符问题!(基于100,000个整数的读取)
2025-04-01 01:40:05
233
原创 (C++)计数排序
计数排序是一个适用于范围小且整数数据的排序算法。通过统计每个元素的出现次数并根据这些统计信息将数组排序,可以达到非常高的排序效率。它的时间复杂度为 O(n + k),其中 n 是数组大小,k 是数据范围,适用于数据范围较小的情况。
2025-04-01 00:50:51
150
原创 C++中lower_bound 的查找范围和 make_pair() 匹配查找数据类型
在已排序的序列中查找第一个大于或等于给定值的元素。的数据类型与容器中的元素类型匹配。类型的元素时,需要确保。
2025-04-01 00:46:22
198
原创 C++ 全局初始化与预处理技巧笔记(算法优化向)
这种预处理技术能显著提升算法题的运行效率,特别适合笔试和竞赛场景。掌握后可以轻松应对动态规划类问题的性能优化需求。
2025-04-01 00:34:58
264
原创 C++ Lambda 表达式笔记(算法题向)
捕获方式说明算法题常用场景[&]引用捕获所有变量需要修改外部变量(如记忆化数组)[=]值捕获所有变量需要只读访问外部变量(较少使用)[var]值捕获特定变量需要特定变量的副本[&var]引用捕获特定变量需要修改特定变量[this]捕获当前类对象(类内定义 lambda 时)类方法中使用[&, var]引用捕获所有变量,但值捕获 var大部分变量需要修改,个别需要副本[=, &var]值捕获所有变量,但引用捕获 var大部分变量只读,个别需要修改。
2025-04-01 00:17:22
253
原创 移动string(避免复制)
在 C++ 中,移动字符串以避免复制可以使用std::move。这会将字符串的所有权转移到另一个变量,而无需复制底层数据。
2025-03-31 22:49:15
179
原创 完全背包问题总结(C++实现)
设 [dp[i][j]] 表示前 [i] 种物品放入容量为 [j] 的背包中所能获得的最大价值。特性二维数组实现一维数组实现空间复杂度[O(N * V)][O(V)]代码复杂度较高较低适用场景初学者理解动态规划过程实际应用,效率优先状态转移方程。
2025-03-31 21:57:45
318
原创 Python 列表推导式详解
列表推导式(List Comprehension)是 Python 中一种简洁、高效的创建列表的方法。它允许你在一行代码中,基于已有的列表或其他可迭代对象,通过应用某种表达式和条件,生成一个新的列表。
2025-03-31 20:03:57
150
原创 cpp cpp cpp
使用命名空间 (Namespace): 将相关的函数和类放在同一个命名空间中,可以避免命名冲突,提高代码的可读性和可维护性。使用静态函数 (Static Function): 如果函数只在当前文件中使用,可以将其声明为静态函数,限制其作用域,避免被其他文件调用。使用匿名命名空间 (Unnamed Namespace): 在源文件中使用匿名命名空间,可以使其中的函数和变量只在当前文件中可见,相当于静态函数和变量。使用 Lambda 表达式 (Lambda Expression)
2025-03-28 12:35:30
958
原创 Day 1: HTML/CSS
HTML 定义网页的结构和内容,CSS 控制网页的样式。理解 HTML 的基本标签和 CSS 的选择器、层叠规则对于网页开发至关重要。语义化 HTML 元素的使用可以提高网页的可读性和 SEO。外部样式表是组织 CSS 代码的最佳实践。
2025-03-26 20:32:59
879
原创 hdu2064 汉诺塔 III 递归ac
递推的核心在于将一个大问题通过一步步分解转化为小问题而不注重每一步的细节 颇有大局观的意蕴。对i-1个圆盘的操作相当于把最后一个圆盘直接忽视(拆解成子问题)即dfs(n-1)所以这题我们直接分析i个圆盘移动的规律(通解)
2024-12-07 15:09:59
157
原创 hdu 2063 二分图匹配 匈牙利算法(初见版)
2.让我们走进这个思路:遍历第一个女生,所有男生都任她挑选,于是她把男一直接抢走了,发生变化的就是在前面有女生选完之后引发的冲突,假如女二号只喜欢男一,但是女一号可能喜欢很多个男生,所以她把第一个男生让给女二来实现最大匹配,.....我们可以想象有一个。1.小白(我),大体思路很可能简单来说就是两层循环:第一轮遍历每一个女生,从第一个男生开始尝试配对,碰到可配对男生之后则进入第二个女生的遍历以此类推,然后不会处理最大化的可能,其实我们只需要在其中加入一丢丢细节即可ac!
2024-11-30 07:16:59
386
原创 反转一个链表
总结一下特点,每一轮的反转我们最后都让prev前进了&& 让curr和next指向了下一轮的主节点,所以最后为了反转最后一个节点,我们做完curr->next=prev后我们又更新了prev和next和curr,,所以他一开始指向null,每次更新完curr之后,curr->next=prev,让他给箭头掉头,然后一次反转就结束了,然后再把让curr变成下一轮的prev,prev=curr;(curr->next=next),然后在反转结束后我们就可以移动curr了!,为保证每次curr能顺利移动,需要。
2024-11-26 15:53:58
169
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人