自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 4.11小结(File, IO流 --FileIO|| CF签到题)

1.FIle对象表示路径,可以指向文件/文件夹;可以是存在的,也可以是不存在的;2.三种构造方式public File(String pathname) 把字符串表示的路径变成File对象Stringparent, String child) 把父级路径和子级路径进行拼接Fileparent, String child) 把父级路径和子级路径进行拼接。

2024-04-11 22:41:28 802

原创 4.9总结(Stream流,方法引用概述 || 乘法逆元,组合数)

1. 基本概念:将已经存在的方法引用,作为函数式接口中抽象方法的方法体;2.特点: “::” 符号,方法引用符;3.注意事项需要有函数式接口被引用方法的参数和返回值应和抽象方法保持一致;被引用方法应满足使用需求;4.分类算法部分:乘法逆元,组合数t=N7T8乘法逆元,组合数http://t.csdnimg.cn/ii0mi。

2024-04-09 23:49:22 418

原创 乘法逆元,组合数

前置知识:快速幂。

2024-04-09 23:34:48 166

原创 4.7总结(内部类,JDBC API || 离散化,树状数组)

什么是内部类:写在一个类中的另一个类称之为内部类;内部类的用途:用于封装那些单独存在时没有意义,且是外部类的一部分的类(汽车发动机,人的心脏);提升代码的组织性,且更利于进行事件处理等操作。访问特点。

2024-04-08 01:27:37 246

原创 4.2总结(快速幂 || 抽象方法,抽象类,接口)

抽象类不一定有抽象方法,但有抽象方法的一定是抽象类格式:publicabstract返回值类型 方法名(参数列表)publicabstractclass 类名 {}抽象类和抽象方法的意义:统一子类具有相似特征的方法的实现格式。

2024-04-02 23:35:43 261

原创 近期学习计划

java:搞定面向对象剩余部分,掌握常用API,和集合的进阶知识。算法:乘法逆元,快速幂;01背包,完全背包的相关练习。java:,掌握异常处理机制、正则表达式,学习IO流。3.【字符串】kmp和字符串哈希,马拉车算法。2..多重背包的二进制优化、单调栈二分dp。java:学习网络编程;1..线性dp、区间dp、树形dp。算法:树状数组和离散化。4.至少1次真题模拟。

2024-04-01 00:59:59 120

原创 3.31总结

作用:将其转换成真正的子类类型,进而调用子类独有功能正常情况,由于多态的弊端,我们无法直接调用子类的独特功能,IDEA会直接提示错误讯息;但可以通过强制转换将其转换为真正的子类类型;除此之外,我们还可以通过instanceof关键字进行判断来尽可能规避转换错误;

2024-04-01 00:39:54 342

原创 3.28(迭代搜索算法 + java学习总结)

迭代加深算法是一在DFS的基础上添加搜索深度限制的搜索方法;其核心思想是从深度为0的地方开始搜索,然后逐步加深搜索深度,重新搜索一遍;这对于那些已知答案在浅层,但整个树或图存在极多分支的情况,我们可以使用迭代加深搜索进而迅速找到目标节点或者遍历整张图(限制深度下);组合优化问题:在给定的搜索空间中找到满足特定条件的最优解;规划和调度问题:在给定的资源约束下找到最优的计划或调度方案;参数优化问题:在给定的参数空间中找到最优的参数设置,以最大化或最小化特定的目标函数。

2024-03-28 22:00:16 313 1

原创 题。。。。

本题使用bfs+状态压缩(在bfs的基础上,存储持有不同钥匙时,此点位是否走过的情况);-----状态压缩使用二进制实现,同时通过位运算修改是否转移至另一状态(详情见代码及注释)

2024-03-26 22:30:56 198

原创 P - Beat

2.自0问题开始查找,确保之后每次查找到的问题的困难度均大于上一次。1.看数据范围,大概知道dfs能做。3.遍历所有情况再记录cnt即可。

2024-03-24 22:18:45 365

原创 G - Find a way

2.唯一的坑点在于对于一个KFC,两人中可能有一个到不了,所以还要对到不了的点距离做处理。1.双重bfs,遍历两个起点求最短路再计算总和即可。

2024-03-21 22:04:58 578

原创 C. Left and Right Houses

4>使用前缀和确定到每个位置时有多少个 “1”;此时可以求出满意人数。<1>0:想被分割至左边;<3>答案若有多个,取最接近中间位置的答案。

2024-03-19 22:40:40 270 1

原创 P4391 [BOI2009] Radio Transmission 无线传输

P4391 [BOI2009] Radio Transmission 无线传输 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2024-02-23 22:03:52 359

原创 P8630 [蓝桥杯 2015 国 B] 密文搜索

P8630 [蓝桥杯 2015 国 B] 密文搜索 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2024-02-22 22:40:33 523

原创 P2957 [USACO09OCT] Barn Echoes G

P2957 [USACO09OCT] Barn Echoes G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2024-02-21 20:20:07 342

原创 进制hash

P3370 【模板】字符串哈希 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2024-02-20 21:53:07 361

原创 错题(暴力)

3.同时x也可以表示为所有分出来的数的总和;故而实际上y也是x的因数;2.依次判断所有做不同数量A菜的情况中能做多少道B菜。4.那么只要遍历x的因数,找到符合x/y>=n的因数中最大的即可;思路:1.题目实际上是给出一个整数x,要求将x分成n份,使得所有份的最大公约数最大;3.不断维护可以做的菜肴的最大值。思路:1.直接模拟计算,总时间 = 总距离 + 跳过次数(x - y - 1);2.对于每个分出来的数,实际上都是最大公约数。思路:1.计算最多能做多少道A菜;2.特判跳过次数为0的情况;

2024-02-19 21:48:12 373

原创 单源最短路径(Dijkstra)

dijkstra:对于无负边的情况下可以达到O(nlogn)且很难被卡。

2024-02-18 21:01:46 339

原创 初学最小生成树(prim,kruskal //贪心思想)

连通图的所有生成树中边权之和代价最小的生成树。

2024-02-16 16:32:03 785

原创 邻接表运用

使用一个支持动态增加元素的数据结构构成的数组,如来存边,其中adj[u]存储的是点的所有出边的相关信息(终点、边权等)。

2024-02-15 18:05:11 335 1

原创 P1359 租用游艇

长江游艇俱乐部在长江上设置了 n 个游艇出租站 1,2,⋯,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站 i 到游艇出租站 j 之间的租金为 r(i,j)(1≤i<j≤n)。试设计一个算法,计算出从游艇出租站 1 到游艇出租站 n 所需的最少租金。第一行中有一个正整数 n,表示有 n 个游艇出租站.接下来的 n−1 行是一个半矩阵r(i,j)1≤i<j≤n)。输出计算出的从游艇出租站 11 到游艇出租站 n 所需的最少租金。

2024-02-07 00:09:15 388 1

原创 P1135 奇怪的电梯

大楼的每一层楼都可以停电梯,而且第 i 层楼(1≤i≤N)上有一个数字 Ki​(0≤Ki​≤N)。电梯只有四个按钮:开,关,上,下。在 1 楼,按“上”可以到 4 楼,按“下”是不起作用的,因为没有−2 楼?原理:视A楼层为起点,同时或许有上,下两种选项(判定是否符合题意),简单画图可以看出这是一个二叉树,此时一层一层进行搜索,最早搜索到的即为最短次数;第一行为三个用空格隔开的正整数,表示N,A,B(1≤N≤200,1≤A,B≤N)对于 100%的数据,1≤N≤200,1≤A,B≤N,0≤Ki​≤N。

2024-02-04 22:03:06 355 1

原创 bfs练习(氵氵)

你已经掌握了感染源的位置,任务是算出血色先锋军的领主们感染瘟疫的时间,并且将它报告给巫妖王,以便对血色先锋军进行一轮有针对性的围剿。在原来的广搜基础上做一个预处理即可--------多起点同时开始搜索(染色问题),除此之外,若该人员已经被感染记得跳过,最后在跑一边地图查找君主位置即可。第 1 行:四个整数 n,m,a,b,表示军团矩阵有 n 行 m 列。接下来 b 行:每行有两个整数 x,y,表示领主的位置在第 x 行第 y 列。接下来 a 行:每行有两个整数 x,y,表示感染源在第 x 行第 y 列。

2024-02-01 21:34:24 323 1

原创 初学并查集

1.并查集用于解决一些元素分组的问题。它管理一系列不相交的集合a.合并(Union):把两个不相交的集合合并为一个集合。b.查询(Find):查询两个元素是否在同一个集合中。2.路径压缩对于一些指向较长的并查集,(1->2->3->.....->n)它的合并和查找效率极慢(O(N)),而并查集本身并不关注各个集合之间具体的联通关系,换言之,以下两者在运用并查集处理问题时等效而后者的合并,查询操作的时间仅为O(1);自用,相关基础操作就不赘述了。

2024-01-31 17:57:41 917

原创 P1229 遍历问题

我们都很熟悉二叉树的前序、中序、后序遍历,在数据结构中常提出这样的问题:已知一棵二叉树的前序和中序遍历,求它的后序遍历,相应的,已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。得,是只有一个子节点的节点才会在知道 前序后序 的情况下有不同的中序遍历,那么就判断有多少个单节点再计算即可而先序遍历中,如果A只有一个子树B,那么在先序遍历中A一定在B前,在后序遍历中B一定在A前。共两行,第一行表示该二叉树的前序遍历结果 s1​,第二行表示该二叉树的后序遍历结果 s2​。

2024-01-30 16:43:49 304 1

原创 初学二叉树

在学习了树,二叉树的相关内容后去写了一下题目,结果发现布置的二叉树的入门题是和前序,中序,后序遍历相关的。

2024-01-29 23:58:07 382

原创 初学bfs

1.bfs能解决的两类问题a.迷宫内自起点出发是否存在路径能抵达终点b.自一点到另一点的最短路径2.用队列的特性实现bfs(本人究极菜,拿数组模拟的队列)

2024-01-28 00:23:55 365

原创 -测验复盘

有一个 1 到 n 的序列 a,ai​ 代表第 i 个格子的高度,若你在 x,则你可以走到 x+1 或 x−1。若你从一个高为 p 的格子走到一个比它矮的高为 q 格子会受到p−q 的伤害,若走到一个比它高的格子则不会受到伤害。,an​,首先 A 先选择至多 k 个数删除,然后 B 在剩下的数中选择至多 x 个数乘上−1,加上剩余的数后,A 想要和尽可能大,B 想要和尽可能小。, 1≤x,k≤n) — 数组中的元素数量,A可以移除的元素数量限制,以及B可以乘以 −1−1 的元素数量限制。

2024-01-26 23:02:33 836 1

原创 1.25(沝㵘淼)

orz )

2024-01-25 23:48:16 863

原创 dfs练习

任何一个大于 11 的自然数 n,总可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n,要求你求出 n 的拆分成一些数字的和。一个网格与其周围的八个网格相连,而一组相连的网格视为一个水坑。一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。由于近期的降雨,雨水汇集在农民约翰的田地不同的地方。c.行走后若为“W”则转化为“.”并继续走,若为“.”则直接return。第四行只有一个数字,表示解的总数。

2024-01-25 00:44:12 825

原创 初学dfs

a迷宫问题注意边界条件,及以下几个问题:1.存地图;同时按题目做好标记;2.怎么走;起点位置运动方向。

2024-01-23 23:44:10 670

原创 P4387 【深基15.习9】验证栈序列

2.遍历出栈序列 poped 的每个元素,对于当前元素 poped[i],若栈顶元素等于 poped[i],则执行出栈操作,即将栈顶元素弹出,同时 i 指向下一个元素。反之则执行入栈操作,即将入栈序列 pushed 中指针指向的元素压入栈中,且将指针后移一位。3.在遍历完出栈序列 poped 后,如果辅助栈中的元素已经全部出栈,说明出栈序列 poped 可能是由入栈序列 pushed 经过一系列入栈和出栈操作得到的,输出 Yes;已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出。

2024-01-22 21:28:11 357

原创 不规则的街道

你可以认为图中的每个格子都是边长为 10 米的正方形,房屋均位于每个格子的中心点上( T 次询问,每次输入等级 N ,两个编号 S、D ,求 S 与 D 之间的直线距离。规划师设计了一个极其复杂的方案:当城市规模扩大之后,把与原来城市结构一样的区域复制或旋转 90 度之后建设在原来的城市周围(详细地说,将原来的城市复制一遍放在原城市上方,将顺时针旋转 90 度后的城市放在原城市的左上方,将逆时针旋转 90 度后的城市放在原城市的左方),再用道路将四部分首尾连接起来,如下图所示。​ 第一行输入一个整数 T。

2023-12-29 00:51:08 400 1

原创 递归实现指数型枚举(递归练习)

自当前能所选的最小值开始输出所有可能的选择方案;即若min = 1, n = 3;本轮递归应输出11 21 2 3。

2023-12-27 00:34:04 391 1

原创 12.3(递归函数的设计技巧)

小明买了一堆桃子不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到 n天只剩下一个桃子了。小明想知道一开始买了多少桃子。1.f(n)代表桃子总数量(能吃n天的桃子数量);步骤2:证明若f(k)成立,则f(k + 1)也成立;步骤3:联立1,2;3.假设递归调用的结果正确,实现本层逻辑;步骤1:验证f(1)成立;1.给递归函数设立一个明确的意义;2.实现边界条件的程序逻辑;分析:题目条件为天数n;(数学归纳法的逆运用)

2023-12-03 21:32:58 394 1

原创 11.19

预处理后数组b即为a[n]的差分数组,而在第x个位置+z和第y个位置-z再进行前缀和操作即能实现对第x至第y个数实现加数的操作。综上,在预处理后,仅需经过几次运算即可求出第l个数至第r个数的和,极大减少了程序的时间复杂度。在cpu执行有关选择结构的流水线操作中可以通过这段代码以加速程序运行;此时我们可以通过前缀和序列的特点来优化此程序以减少运行时间;1.重新定义一个数组求出原序列至第n项的前缀和;返回x中最后一个为1的位是从后向前的第几位。<1>.前缀和:指某序列的前n项和;当前函数的第n级调用者的地址。

2023-11-19 22:25:43 28

原创 11.11

如果输入缓冲区中没有 足够的数据来满足scanf函数的要求,那么scanf函数会等待用户输入更多的数据或者直到缓冲 区中有足够的数据为止。定义:如果被计数的事物有A、B、C三类,那么,A类和B类和C类元素个数总和= A类元素个数+ B类元素个数+C类元素个数—既是A类又是B类的元素个数—既是A类又是C类的元素个数—既是B类又是C类的元素个数+既是A类又是B类而且是C类的元素个数。

2023-11-11 20:12:32 34

原创 11.5周总结

return 函数名(参数列表);之后在f(2)中继续调用f(1)的返回值,if (终止条件) {最后从f(1)中由1依次返回各值;<3>. 使用函数前必须有声明,或直接将函数定义于主函数前。当x = 3时,第一次函数将调用f(2)的返回值,<1>.声明: 返回类型 函数名(参数列表);基本结构如下:返回类型 函数名(参数列表) {<1>. 实参:函数调用时传递给函数的实际值。<3>. 形参的所有修改均不会改变实参内容。<2>.定义:返回类型 函数名(参数列表)<2>. 形参:函数定义中声明的参数。

2023-11-05 14:34:52 27 1

原创 10.29

在前期的刷题中,时常碰到些许卡壳的情况,故总结了一些简要的方法和技巧(以下均为个人理解)先解决读入,再处理遍历,然后是数据储存,最后再进行输出。

2023-10-29 19:09:05 43 1

空空如也

空空如也

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

TA关注的人

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