SF
池塘
池塘
注册登录
关注博客
注册登录
主页
关于
RSS
递归枚举
南池北塘
2023-12-31
阅读 3 分钟
518
递归枚举本文总结了三种不同的枚举方法递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 11 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方...
《数据结构课程设计》预习日志
南池北塘
2023-12-12
阅读 2 分钟
510
《数据结构课程设计》预习日志任务一:赛事信息管理struct T(存储队伍信息) {代码...} read(读取数据) {代码...} random(随机生成初赛成绩) {代码...} op(数据修改) {代码...} 任务二:决赛现场模拟tt(队列) {代码...} order(输出秩序册) {代码...} imitate(秩序模拟) {代码...} 任务三:决赛地图导览vert...
【算法】双指针
南池北塘
2023-11-04
阅读 2 分钟
463
双指针1. 简介通常用于数组或字符串中进行快速查找、匹配、排序或移动操作常见的双指针模型:对撞指针快慢指针2. 对撞指针指的是两个指针 left、right (简写为l,r) 分别指向序列第一个元素和最后一个元素。然后1指针不断递增,r不断递减,直到两个指针的值相撞或错开 (即 l >= r),或者满足其他要求的特殊条件为止。...
【算法】贪心
南池北塘
2023-11-04
阅读 4 分钟
503
贪心1. 简介基本原理:每一步都选择局部最优解,并且尽量不考虑对后续的影响,最终达到全局最优解局限性:不能保证获得全局最优解,但在某些问题上具有高效性“分类讨论”,“最小代价”,“最大价值”贪心题型太多,要多练2. 例题最小化战斗力差距 {代码...} 谈判 {代码...} 优先队列(priority_queue):一个有权值的“队列”表...
【算法】离散化
南池北塘
2023-11-03
阅读 2 分钟
388
当原数组中的数字很大、负数、小数时(大多数情况下是数字很大),难以将“元素值”表示为“数组下标”,一些依靠下标实现的算法和数据结构无法实现时,我们就可以考虑将其离散化。
【算法】差分
南池北塘
2023-11-03
阅读 1 分钟
309
差分1. 差分的原理差分数组: diff[i] = a[i] - a[i - 1]对差分数组做前缀和可以还原为原数组:diff[1] = a[1]diff[2] = a[2] - a[1]diff[3] = a[3] - a[2]......diff[n] = a[n] - a[n - 1]易得: diff[1] + diff[2] + diff[3] + ... + diff[i]= a[i]据此,差分数组可以实现快速的区间修改Eg: 将区间[l, r]都加上 x :di...
【STL】map
南池北塘
2023-11-02
阅读 4 分钟
278
map概述std::map在C++中是一种关联容器,它存储的是键值对,键和值可以是任何类型。与数组相比,std::map有以下几个优点:动态大小:数组在创建时需要指定大小,而std::map的大小是动态的,可以在运行时添加或删除元素。键值对存储:数组通过索引访问元素,而std::map则通过键来访问对应的值。这使得我们可以使用非整数...