- 博客(65)
- 收藏
- 关注
原创 项目预备知识
设置背景颜色:这里设置完颜色之后,还需要清除一下设备,不然还是黑色的。绘图函数:(这里以画圆为例),前缀是需要绘图的类型,后缀是种类。设置类:这个是窗口下的形状。窗口创建函数:小黑屏。
2024-03-02 22:51:01
183
原创 2.23学习总结
有 �n 组学生,给出初始时每组中的学生个数,再给出每组学生人数的上界 �R 和下界 � (�≤�)L (L≤R),每次你可以在某组中选出一个学生把他安排到另外一组中,问最少要多少次才可以使 �N 组学生的人数都在 [�,�][L,R] 中。如果你买了第 �I 样东西,再买第 �J 样,那么就可以只花 ��,�KI,J 元,更巧的是,��,�KI,J 竟然等于 ��,�KJ,I。对于 100%100% 的数据,1≤�≤500,0≤�,��,�≤10001≤B≤500,0≤A,KI,J≤1000。
2024-02-23 21:47:29
704
原创 寒假学习总结
再到2月份的一些图的算法,我认为这个并不算难,因为大多都是建立在之前的算法基础之上的,例如BFS都贯通的图的很多算法,后期学的tarjan,倍增等,我认为在理解上并不算太难,现在学习新的算法知识的速度绝对是快于之前,综上所述,我认为在预备役期间,学习到了很多新的知识,也提升了自己的能力,让自己更好的接触了数据结构与算法知识。整个预备役寒假期间,写了200多道题,对代码的理解能力也有所提升,对基础算法的代码的运用更加的熟悉,使我可以很快的写出一些基础代码。
2024-02-23 17:08:00
374
原创 2.22学习总结
1.营救2.租用游艇3.砍树4.买礼物5.刷题统计题目描述给定一棵由 n 个结点组成的树以及 m 个不重复的无序数对 (a1, b1), (a2, b2),. . . , (am, bm),其中 ai 互不相同,bi 互不相同,ai ≠ bj(1 ≤ i, j ≤ m)。小明想知道是否能够选择一条树上的边砍断,使得对于每个 (ai , bi) 满足 ai和 bi 不连通,如果可以则输出应该断掉的边的编号(编号按输入顺序从 1 开始),否则输出 -1.输入格式。
2024-02-22 20:52:17
867
原创 2.21学习总结
1.【模板】ST 表3.景区导游4.最近公共祖先(LCA)倍增思想:主要用于LCA问题,RMQ问题。在进行时,如果,通常的无法满足与的要求,那么我们可以通过的方式,只递推中在 2作为代表。
2024-02-21 19:58:56
886
原创 2.16学习总结
1.邮递员送信(dijkstra 不只是从起到到目标点,还要走回去)2.炸铁路(并查集)3.统计方形(数据加强版)(排列组合)4.滑雪(记忆化)5.小车问题(数学问题)6.ACM(记忆化,搜索)7.奶牛的耳语(二分)8.计算器的改良(模拟)9.L-shapes(遍历)10.Alternating Heights(拓扑排序+二分)
2024-02-16 21:37:43
844
原创 2.14学习总结
1.区间嵌套2.卡片3.逆序对https://www.luogu.com.cn/problem/P19084.合唱队形5.回文日期6.既约分数7.数的分解8.九宫幻方。
2024-02-14 16:52:51
1171
原创 2.11学习总结
树上有两个不同的特殊点 x,y�,�,对于树中的每一个点对 (u,v)(u≠v)(�,�)(�≠�),如果从 u� 到 v� 的最短路径需要经过点 x� 和点 y�(路径的两个端点也算经过),且相对顺序上。所有测试点满足 1≤n≤3×1051≤�≤3×105,1≤x,y≤n1≤�,�≤�,x≠y�≠�,1≤a,b≤n1≤�,�≤�,a≠b�≠�。接下来的�−1n−1行,每行三个正整数�,�,�u,v,w,表示�,�u,v(�,�<=�u,v<=n)有一条权值为�w的边相连。很久以前,T 王国空前繁荣。
2024-02-11 23:11:55
718
原创 2.8学习总结
2.81.二叉树的前序遍历2.二叉树的中序遍历3.二叉树的后序遍历4.⼆叉树的层序遍历5.⼆叉树的层序遍历26.二叉树的右视图7.二叉树的层平均值8.N叉树的层序遍历9.每个树行中找最大值10.填充每个节点的下一个右侧节点指针11.填充每个节点的下一个右侧节点指针212.生命之树(树状DP)13.最大子树和14.没有上司的舞会15.对称二叉树16.完全二叉树的节点个数17.二叉树的最大深度18.二叉树的最小深度19.翻转二叉树。
2024-02-08 19:22:50
913
原创 2.4学习总结
2.41.不相交的线2.最⼤⼦序和3.判断⼦序列4.不同的子序列5.编辑距离6.零的数列 Zero Sum7.迷宫与陷阱还是找最长公共子序列的问题编辑距离是经典的动态规划问题,当遇到两个字符相等的时候,就直接保持上一个状态,如果不相等,就删除第一个字符串的字符,或者删除第二个字符串的字符,或者替换一个字符,所以就可以得到转移方程,
2024-02-04 22:13:18
770
原创 2.3学习总结
由于是找到最长的递增的子序列,因此没有严格要求是递增的,那么建立dp[i]表示i之前最长的递增子序列,通过双循环i,j,j可以从头遍历到i-1,如果符合nums[i]>nums[j],那么dp就可以+1,因此得到转移方程:if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1);所以转移方程为:dp[i][1] = max(dp[i - 1][1], prices[i] + dp[i - 1][0]);第一点,没有买进股票保持上一次的状态dp[i-1][1]
2024-02-03 22:46:13
891
原创 2.1学习总结
2.1动态规划1.斐波那契数2.爬楼梯3.使用最小花费爬楼梯4.不同路径15.不同路径26.数的拆分7.分割等和子集作业1.Spreadsheets(字符串模拟)2.Before an Exam(贪心)3.放苹果(动态规划)4.最大正方形(前缀和)5.疯狂的采药(动态规划)6.采药(动态规划)7.搭配购买(并查集+动态规划)动态规划:今天做了动态规划的基础题,和一些01背包,完全背包的问题解动态规划的步骤:1:明确dp数组的下标含义。
2024-02-01 19:48:29
799
原创 1.31学习总结
1.311.线段树2.Bad Hair Day S(单调栈)3.01迷宫(BFS连通块问题+剪枝)(连通性问题的并查集解法)4.健康的荷斯坦奶牛 Healthy Holsteins(DFS)
2024-01-31 19:37:04
716
原创 1.30学习总结
1.Cow Lineup G(单调队列):问题转化能力很重要2.发射站(单调队列)map的时间复杂度比较高,能用数组就用数组3.Closing the Farm S(并查集的撤回操作)4.求细胞数量(很简单的连通性问题)用线段树的方法尝试两道题,但是还没有涉及lazy标记。
2024-01-30 20:24:32
1002
原创 1.29学习总结
并查集1.并查集2.亲戚3.朋友(STL+并查集)4.集合(质数筛+并查集)5.修复公路(并查集+结构体排序)搜索1.机器人搬重物(BFS)树状数组1.树状数组1(单点修改,区间查询)2.树状数组 2(区间修改,单点查询)
2024-01-29 19:55:48
1301
原创 1.28学习总结
队列:1.求区间所有后缀最大值的位置(单调队列)搜索:1.天下第一(记忆化)2.拯救oibh总部(DFS+连通性问题)3.国王的魔镜(递归)4.回家(BFS+三维的标记)5.取数游戏(DFS)6.数的划分(递归)
2024-01-28 17:50:46
1323
原创 1.27学习总结
今天做了些队列的题:1.逛画展(单调队列)2.打印队列 Printer Queue(优先队列)3.[NOIP2010 提高组] 机器翻译(模拟队列)4.求m区间内的最小值(单调队列板子题)5.日志统计(滑动窗口,双指针)总结一下:单调队列使用STL的deque进行模拟,也可以用数组和双指针(head,tail),有两种操作,删头和去尾,实现一个区间内单调增或减的队列,经典的例题是滑动窗口,在用单调队列做题时,尽量队列内存的是索引,而不是这个数据本身。
2024-01-27 23:03:39
958
原创 1.26学习总结
步骤:通过遍历所有连通块,统计所有连通块题:全球变暖你有一张某海域 ���NxN 像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。
2024-01-26 17:46:50
597
原创 1.25学习总结
今天学习了二叉树,了解了二叉树的创建和遍历的过程今天所了解的遍历过程主要分为三种,前序中序和后序,都是DFS的想法前序遍历:先输出在遍历左节点和右节点(输出->左->右)中序遍历:先遍历左节点,再输出和遍历右节点(左->输出->右)后序遍历:先遍历左节点和右节点,最后再输出(左->右->输出)然后尝试了一道关于树的题目。
2024-01-25 22:02:53
964
原创 1.24学习总结
学习了数据结构链表总结一下线性表的一些操作:第一点创建一个线性表,就是定义一个结构体类型的变量,里面可以存数据和线性表当前的长度第二点,读取线性表里面的元素第三点插入和删除元素,插入元素主要在于实现元素后移的情况,把要插入元素位置后面的元素都后移一位删除元素主要在于覆盖,把删除元素之后的元素向前覆盖一位线性表的优点:访问快,使用方法简单缺点:需要连续的空间,访问较慢和typedef的运用模拟了一遍单链表的实现(手敲版),也使用STL容器实现了一遍。
2024-01-24 16:19:27
910
原创 补(前缀和)
根据预报,一共有 �M 颗流星 (1≤�≤50,000)(1≤M≤50,000) 会坠落在农场上,其中第 �i 颗流星会在时刻 ��Ti(0≤��≤10000≤Ti≤1000)砸在坐标为 (��,��)(0≤��≤300(Xi,Yi)(0≤Xi≤300,0≤��≤300)0≤Yi≤300) 的格子里。,As1,�1,�2,…给定 �n 个正整数组成的数列 �1,�2,⋯ ,��a1,a2,⋯,an 和 �m 个区间 [��,��][li,ri],分别求这 �m 个区间的区间和。
2024-01-01 23:37:19
865
原创 洛谷&&力扣儿
共有 �m 份订单,每份订单用三个正整数描述,分别为 ��,��,��dj,sj,tj,表示某租借者需要从第 ��sj 天到第 ��tj 天租借教室(包括第 ��sj 天和第 ��tj 天),每天需要租借 ��dj 个教室。你的任务是,把火星人用手指表示的数与科学家告诉你的数相加,并根据相加的结果改变火星人手指的排列顺序。对于 100%的数据,有1≤�,�≤106,0≤��,��≤109,1≤��≤��≤�1≤n,m≤106,0≤ri,dj≤109,1≤sj≤tj≤n。
2023-12-27 23:15:07
744
原创 洛谷&&力扣
所以 13151315 最后可表示为 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)。所以最后 137137 可表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)2(2(2)+2+2(0))+2(2+2(0))+2(0)。由此可知,137137 可表示为 2(7)+2(3)+2(0)2(7)+2(3)+2(0)的数组,预先按照升序排列,经由。
2023-12-26 22:31:24
956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人