自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划DP

f[i][j]表示:所有从0走到j,走过的所有点是i的所有路径长度的最小值。hamilton路径定义:从0到n-1不重不漏地经过每个点恰好一次。//状态划分:第i个物品选k个,要满足k*v[i]

2024-03-01 15:10:16 363 1

原创 基础图论

如果是一个二分图, 那么当且仅当图中不含奇数环由于图中不含奇数环, 所以染色过程中一定没有矛盾。多源汇最短路: 任选两个点,求一个点到另一个点的最短路(两个点不确定)很多不同起点。最短路分为 单源最短路 和 多源汇最短路 (源点就是起点汇点就是终点)图分为有向图和无向图(边是否有方向)(无向图可以看成特殊的有向图)单源最短路: 求一个点到其他所有的点的最短路,只有一个起点。m远小于n的平方的图称为稀疏图,反之是稠密图。邻接表:用的多,有n个点,就开n个单链表。用的比较少,适合存储稠密图,n^2。

2024-02-28 16:55:40 774

原创 基础数据结构

将两个集合合并询问两个元素是否在一个集合当中二. 基本原理:每个集合用一颗树来表示,树根的编号就是整个集合的编号,每个节点存储它的父节点,p[x]表示x的父节点三. 问题5. 如何求x的集合编号6. 如何合并两个集合:p[x]是x的集合编号,p[y]是y的集合编号,p[x] = y优化:压缩路径变长数组(数组长度可以动态变化) 倍增思想size()返回元素个数empty()返回是否为空clear()清空。

2024-02-01 22:54:37 684 1

原创 基础数据结构-链表

在第k点的左边插入x,等价于在l[k]的右边插入x,也就是。

2024-01-26 22:29:06 284 1

原创 基础算法-双指针、离散化和区间和

常见问题分类:1. 对于一个序列,用两个指针维护一段区间2. 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作i < n;i ++ )// 具体问题的逻辑与哈希有点相似,好像是一种特殊的哈希离散化通俗一点就是把离散的点或者说距离很大的点变成紧密的点,压缩数据合并所有有交集的区间,可能在某道题目的中间步骤也许会用到区间合并的模板吧。

2024-01-26 11:24:32 1038 1

原创 基础算法-前缀和与差分

前缀和用来计算任意区间和a数组是原数组,b数组是a数组的前缀和与一维前缀和类似S[i, j] = 第i行j列格子左上部分所有元素的和通过差分数组对原数组在区间[ l , r ]内进行加或减去数的操作,由O(n) 的时间复杂度,优化为O(1)的时间复杂度差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减与一维差分类似,只是数组开的是二维数组。

2024-01-26 09:51:42 751 1

原创 基础算法-位运算与高精度

n >> k & 1。

2024-01-25 22:52:36 348 1

原创 基础算法-二分

与整数二分类似// eps 表示精度,取决于题目对精度的要求,一般比输出精度高两位//check函数根据题意写return l;//返回l,r,mid都行定于Π时,用反函数acos(-1.0),这样Π精度高,尽量别写3.1415926小数如果你写了scanf,printf读入输出,尽量加个头文件尽管devc++内部自动转换,但是保证做题一次过小心题中坑,分馅饼时包括自己,所有别忘了f++;注意最后输出占位符用"%.4f\n",不用lf,一直不知道是这里错了。

2024-01-25 22:12:01 312

原创 C++常用STL

push_front()向队首插入一个元素/pop_front()从队首弹出一个元素。1.输入是一个数x,删除所有x 时间复杂度是o(k+logn) k是x的个数。push_back()向最后插入一个元素/pop_back()弹出最后一个元素。不支持lower_bound()/upper_bound()和迭代器的++ –front()返回第一个元素/back()返回最后一个元素。upper_bound(x) 返回大于x的最小的数的迭代器。begin()/end()迭代器。

2024-01-25 16:54:30 909

原创 基础算法-排序

这两种排序掌握思想,比赛中有对应函数sort来代替sort()函数:头文件#includesort(begin,end,cmp)不加cmp默认是升序需要的话,自己写cmp函数return ab;//升序用大于。

2024-01-25 16:44:55 807

原创 STL简介

unordered_set,unordered_map,unordered_multiset,unordered_multimap 基于哈希表实现,无序。//iterator<int>iterator可以直接写成auto,a.begin()就是a[0],a.end()就是a[size()]begin()是vector的第0个数/end()是vector的最后一个数的后面那个数 迭代器。push_back()向最后插入一个元素/pop_back()弹出最后一个元素。

2024-01-09 11:50:14 836

空空如也

空空如也

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

TA关注的人

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