自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树状dp总结

思路 每次都把每个点看成根节点之后进行向下进行遍历每次求最大 和次大值把他相加 不断进行搜索。3从当前节点向上走找到父节点 父节点出发的且不回到该节点的贡献度 统计答案;有一个点入渡为一 之多一条边之后就是森林 (和树差不多)还有一个点就是埃式筛法 求和 1-n之间的约数之和;2一次dfs统计出档期子树的结点对当前结点的贡献度。1 指定任意一个为子节点 就是全部更新。

2023-08-14 21:36:50 76

原创 单调栈的及二维单调栈求面积

思路:单调栈维护单调递增的序列不断进行更新 ()题意:就是求里边最大的全是Q的面积。

2023-08-12 10:50:55 102 1

原创 并查集及并查集反集的应用

【代码】并查集及并查集反集的应用。

2023-08-11 16:54:10 181 1

原创 H - Clock Pictures (KMP详细介绍)

思路:首先,刚开始用差分的方法进行做之后用vector判断是否全部相等(vector可以一次性判断全部元素是否相等)之后一直wa 之后发现是kmp进行判断是否重合将第一个数组开到两倍 计算出最后一个指针到第一个指针间距(36000-(a[n-1]-a[0]))插入进行计算可能那个值就在连那个数组之进行匹配 kmp匹配;题意:就是有一个钟表之后上边可以有很多指针 问指针旋转之后是否能够重合。

2023-08-11 09:06:34 59 1

原创 最短路的应用(G - Easy Glide );

思路:首先把每个点都加上2这可以进行点的设置 起点为1 第一个加速点就是2 下一个就是3 设置点后进行计算 一个点都另一个点的全部时间进行计算(起点到终点 起点到加速点 加速点之间 加速点 到终点 )形成最短路 之后进行更新。题意:就是到达一个点可以进行加速 加速时间3s给出了他的加速后的速度,计算从起点终点的最短距离,稀疏图 (点数比较多)vector建图。正好复习一下迪杰斯特拉最短路模板。密图:(小于1000点数)

2023-08-10 19:33:31 200 1

原创 JAVA的异常特殊处理和技巧

思路:就是进行深搜 一个一个的搜 找dfs看四个方向有无o在设置一个dfs1函数 让那个函数进行搜索看看是否被堵住 一个一个的进行搜索。题意:就是下围棋让找到一步让第一个人秒杀掉另一个人的棋子(就是围住)先把棋子下上之后进行搜索。数据范围较小肯定超时不了。

2023-08-09 09:51:09 25 1

原创 JAVA容器的遍历

分析:(前提就是这个集合有序)这个可以反着理解当最后一个数加上前缀必然使平均值降低 然后大于平均的增多(不断贪心求最大);题意:大体就是查找大于等于这个选定集合的平均值个数的数(选定集合)

2023-08-08 19:55:04 70

原创 基于java的算法题总结

第一个最矮,留着不动,其余n-1盆都减去mx-mi。修剪完之后我们发现,第一盆,和最高的那一盆一样高了,第二盆变成了最矮的。即从前向后,每个花盆与最后花盆(最高的)的高度差全部加起来,就是最后那个花盆要修剪的高度。所以当mx-sum>=1就能修剪成功,最小次数就是mx-sum(每次只能修剪一米)。第二次,除了二号,其他全减2(5-3) 3 3 2 3;第三次,除了三号,其他全减1(3-2) 2 2 2 2;

2023-08-08 15:53:32 30

原创 深度了解LinkedHashMap

进行行和列和区域的大模拟,不能进行重复的。数独就会发现行列和矩阵的值总会设置为3。

2023-08-08 09:51:16 129

原创 JAVA输入输出的总结和读写速度比较

【代码】求最公共前缀string find()函数使用 (easy)

2023-08-07 19:58:56 97 1

原创 线段树的基本介绍宇用法

线段树有利于很好的解决区间问题。区间修改和 区间查询 操作。

2023-08-04 09:18:10 19 1

原创 树状数组简介+用法

其次他的插入操作也是基于lowbit原理将其父节点进行插入 查询也是不断退回lowbit进行查询。但是3一般用线段树操作 值得注意的是树状数组都是从下标为一开始 主要核心操作原理就是lowbit。3区间操作 区间查询。2 区间操作 单点查询。查询的lowbit退位 进行相加操作只输入一个查询的是(1,x);维护的是增长量 直接query(y)+a[y]就可以。首先树状数组一般在1 单点操作,区间查询。查询区间的时候也是 基于前缀和原理进行实现的。lowbit不断进位。

2023-08-02 20:34:47 37

原创 JAVA类和对象祥解(自己思路) 区间点的覆盖

【代码】区间点的覆盖。

2023-08-02 15:57:30 31

原创 D - Disastrous Downtime(双指针问题)

思路:实质上就是用双指针找区间最大间隔问题 本来想首指针弄完后直接到达尾指针的位置 但是不对 中建还有很多数需要 做 然后感觉首指针从前往后逐渐便利一下就对了 (注意一i啊for循环和while循环的条件)

2023-07-31 08:54:33 33 1

原创 vj补训练赛2和3(2)

等差数列求和公式:n/2*(a1+an);

2023-07-24 09:35:18 28

原创 vj补题计算线段交点个数+相交圆的最小圆 +在圆中循环+区间问题

【代码】vj计算线段交点个数。

2023-07-18 20:12:32 49 1

原创 欧拉函数模板+应用(补充)

在欧拉定理的基础之上,如果n是一个质数记为p,则有aφ§≡1 (mod p),进而可以得到ap-1≡1 (mod p)个整数a、b,若它们除以整数m所得的余数相等,则称a与b对于模m同余或a同余于b模m。记作:a≡b (mod m)。如果a与n互质,则aφ(n)≡1 (mod n)

2023-07-17 11:15:15 41 1

原创 杂例(结构体内部排序,和另一种输入方式 sort函数结构体容器原则)

特殊排序方式就是:运用bool operoter(const node&A)const{}结构体的特殊输入方式就是直接{}放置元素中间用,隔开。容器别忘了用sort();

2023-05-22 20:05:09 45 1

原创 STL的不常用但重要操作+string

q.find():该功能检查元素是否属于集合。如果元素属于集合,则它返回确切的迭代器位置,否则返回st.end()。*it如果跟原数一样说明就该有否则返回迭代器最后的位置end;除了vector和string能够q[i]能够这样访问别的都是 用迭代器利用auto;vector:一般就会很省空间并且不知道大小的情况下,还可以用于图论领接表建图。下下期有 另一种map和set以及所有迭代器各自好处和使用地方。基本:set插入之后由小到大排序并且删除重复元素。设置迭代器auto it;

2023-05-21 22:51:21 39 1

空空如也

空空如也

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

TA关注的人

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